![]() |
*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 |
*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 |
*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 |
*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 |
All times are GMT +1. The time now is 09:32 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com