View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Filip Stanek Filip Stanek is offline
external usenet poster
 
Posts: 2
Default *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