Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
*Fast* way of extracting cell text formatting
Is there a pretty quick way to extract the formatting of text in a single
cell? For example, the cell may contain some text that is bold, superscript, underline, or italic. I want to convert the text to HTML, so that I can display it somewhere else. So far, I have the following code: int CharCount = Convert.ToString(Cell.Text).Length; int UnderlineStyle = (int)Microsoft.Office.Interop.Excel.XlUnderlineSty le.xlUnderlineStyleSingle; for (int CharNum = 0; CharNum < CharCount; CharNum++) { Microsoft.Office.Interop.Excel.Characters Char = Cell.get_Characters(CharNum + 1, 1); bool IsCharBold = (bool)Char.Font.Bold; bool IsCharUnderline = (int)Char.Font.Underline == UnderlineStyle; bool IsCharItalic = (bool)Char.Font.Italic; bool IsCharSuperScript = (bool)Char.Font.Superscript; /** some other code here **// } } However, the above code is extremely slow. I have some cells that contain over 1000 characters, and it takes several minutes to execute the code for the single cell. Does anyone know if there is a faster way to extract the formatting info? Thx, Filip Stanek |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
*Fast* way of extracting cell text formatting
I believe what you have is pretty the only way to do it.
Cordially, Chip Pearson Microsoft Most Valuable Professional Excel Product Group, 1998 - 2009 Pearson Software Consulting, LLC www.cpearson.com (email on web site) On Tue, 15 Sep 2009 12:27:01 -0700, Filip Stanek wrote: Is there a pretty quick way to extract the formatting of text in a single cell? For example, the cell may contain some text that is bold, superscript, underline, or italic. I want to convert the text to HTML, so that I can display it somewhere else. So far, I have the following code: int CharCount = Convert.ToString(Cell.Text).Length; int UnderlineStyle = (int)Microsoft.Office.Interop.Excel.XlUnderlineSt yle.xlUnderlineStyleSingle; for (int CharNum = 0; CharNum < CharCount; CharNum++) { Microsoft.Office.Interop.Excel.Characters Char = Cell.get_Characters(CharNum + 1, 1); bool IsCharBold = (bool)Char.Font.Bold; bool IsCharUnderline = (int)Char.Font.Underline == UnderlineStyle; bool IsCharItalic = (bool)Char.Font.Italic; bool IsCharSuperScript = (bool)Char.Font.Superscript; /** some other code here **// } } However, the above code is extremely slow. I have some cells that contain over 1000 characters, and it takes several minutes to execute the code for the single cell. Does anyone know if there is a faster way to extract the formatting info? Thx, Filip Stanek |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
*Fast* way of extracting cell text formatting
On Tue, 15 Sep 2009 12:27:01 -0700, Filip Stanek
wrote: Is there a pretty quick way to extract the formatting of text in a single cell? For example, the cell may contain some text that is bold, superscript, underline, or italic. I want to convert the text to HTML, so that I can display it somewhere else. So far, I have the following code: int CharCount = Convert.ToString(Cell.Text).Length; int UnderlineStyle = (int)Microsoft.Office.Interop.Excel.XlUnderlineSt yle.xlUnderlineStyleSingle; for (int CharNum = 0; CharNum < CharCount; CharNum++) { Microsoft.Office.Interop.Excel.Characters Char = Cell.get_Characters(CharNum + 1, 1); bool IsCharBold = (bool)Char.Font.Bold; bool IsCharUnderline = (int)Char.Font.Underline == UnderlineStyle; bool IsCharItalic = (bool)Char.Font.Italic; bool IsCharSuperScript = (bool)Char.Font.Superscript; /** some other code here **// } } However, the above code is extremely slow. I have some cells that contain over 1000 characters, and it takes several minutes to execute the code for the single cell. Does anyone know if there is a faster way to extract the formatting info? Thx, Filip Stanek Perhaps is you SAVE'd the document in HTML (or even XML) format, you might be able to extract the data that way more quickly. --ron |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
*Fast* way of extracting cell text formatting
I think I found a pretty fast way of doing it. There may be faster ways, but
where my code would take 30 minutes to execute before, it now takes about 15 seconds. I wrote a little explanation of how I'm doing it on my blog if anyone else has a need to quickly convert text in a cell to HTML or some other format. http://www.bloodforge.com/post/Extra...ll-With-C.aspx Thanks! Filip Stanek "Chip Pearson" wrote: I believe what you have is pretty the only way to do it. Cordially, Chip Pearson Microsoft Most Valuable Professional Excel Product Group, 1998 - 2009 Pearson Software Consulting, LLC www.cpearson.com (email on web site) On Tue, 15 Sep 2009 12:27:01 -0700, Filip Stanek wrote: Is there a pretty quick way to extract the formatting of text in a single cell? For example, the cell may contain some text that is bold, superscript, underline, or italic. I want to convert the text to HTML, so that I can display it somewhere else. So far, I have the following code: int CharCount = Convert.ToString(Cell.Text).Length; int UnderlineStyle = (int)Microsoft.Office.Interop.Excel.XlUnderlineSt yle.xlUnderlineStyleSingle; for (int CharNum = 0; CharNum < CharCount; CharNum++) { Microsoft.Office.Interop.Excel.Characters Char = Cell.get_Characters(CharNum + 1, 1); bool IsCharBold = (bool)Char.Font.Bold; bool IsCharUnderline = (int)Char.Font.Underline == UnderlineStyle; bool IsCharItalic = (bool)Char.Font.Italic; bool IsCharSuperScript = (bool)Char.Font.Superscript; /** some other code here **// } } However, the above code is extremely slow. I have some cells that contain over 1000 characters, and it takes several minutes to execute the code for the single cell. Does anyone know if there is a faster way to extract the formatting info? Thx, Filip Stanek |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Extracting text from a cell | Excel Worksheet Functions | |||
Extracting text from a cell | Excel Worksheet Functions | |||
Fast Formatting | Excel Discussion (Misc queries) | |||
Extracting text from a cell | Excel Discussion (Misc queries) | |||
extracting text from within a cell - 'text to rows@ equivalent of 'text to columns' | Excel Programming |