我需要读取excel中单元格中可用的格式信息。 Excel文件可能包含一个文本类似“某些示例文本”的单元格。每个单词都会有不同的格式信息。就像单词“某些”可能是粗体的,并具有不同的字体颜色和大小。下一个词可能有不同的一个。如何读取excel单元格格式(.XLS和.XLSX)
我们可以读取单个单元格值的单个格式设置信息吗?如果是的话,请让我知道如何去做。
我曾经使用NPOI和OpenXML SDK 2.5,没有运气。不希望使用excel interop,因为这将在服务器中处理。
我需要读取excel中单元格中可用的格式信息。 Excel文件可能包含一个文本类似“某些示例文本”的单元格。每个单词都会有不同的格式信息。就像单词“某些”可能是粗体的,并具有不同的字体颜色和大小。下一个词可能有不同的一个。如何读取excel单元格格式(.XLS和.XLSX)
我们可以读取单个单元格值的单个格式设置信息吗?如果是的话,请让我知道如何去做。
我曾经使用NPOI和OpenXML SDK 2.5,没有运气。不希望使用excel interop,因为这将在服务器中处理。
你说的是从小区读取富文本值。它将得到NPOI 2.0最终版本的支持。发布将在第一季度发生,2014年
以下是对您的问题的完整“黑客答案”。
我做了这样的单细胞小Excel文件:
我保存的文件,并关闭它。接下来,我将文件的扩展名从.xlsx更改为.zip - 这允许您打开它并查看内容。在名为xl
的子文件夹中,您会找到一个名为“sharedStrings.xml”的文件,其中包含工作簿中的所有字符串及其在单元格中的格式。这是一个巨大的数组 - 这样做是为了在多个单元格中输入相同的值时,它只存储一次。通过这个文件,以获取在所有细胞的所有字符串,以及它们的格式工作...
对于这个特定的细胞中,sharedStrings.xml文件的内容开始列如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="1" uniqueCount="1">
<si>
<r>
<t xml:space="preserve">This </t>
</r>
<r>
<rPr>
<b/>
<sz val="11"/>
<color theme="1"/>
<rFont val="Calibri"/>
<family val="2"/>
<scheme val="minor"/>
</rPr>
<t>cell</t>
</r>
<r>
<rPr>
<sz val="11"/>
<color theme="1"/>
... etc
通过阅读本文件,您将能够重新构建格式化的所有字符串。必须有一个更好的办法...
是的,这是在Windows平台上。我正在使用.NET 4.0 –