从C中的excel文件中读取
我想从C中的excel文件中读取.excel 2007文件包含大约6000行和2列。 我想将内容存储在C中的二维数组中。如果存在C库或任何其他方法,请告诉我。
Excel 2007将数据存储在一堆文件中,其中大部分都是XML格式,所有文件都拼凑成一个zip文件。 如果要查看内容,可以将.xlsx
重命名为whatever.zip
,然后打开它并查看里面的文件。
假设您的Excel文件只包含原始数据,而您所关心的只是读取它(即,您不需要/想要更新其内容并让Excel再次打开它),读取数据实际上非常简单。 在zip文件中,您正在寻找子目录xl\worksheets\
,它将包含许多.xml
文件,每个工作表对应一个Excel文件(例如,默认工作簿将有三个工作表名为sheet1.xml
, sheet2.xml
和sheet3.xml
)。
在这些内部,您正在寻找
标签。 在其中,您将拥有
标签(每行数据一个),并且在其中
标签,其属性为r=RC
,其中RC
由正常的行/列表示法替换(例如,“ A1″ )。
标签将嵌套
标签,您可以在其中找到该单元格的值。
我确实觉得有必要添加一个警告:虽然阅读真正简单的数据确实可以很简单,但如果你决定做的不仅仅是阅读简单的行/列数字,那么生活会变得更加复杂。 尝试做任何比这更复杂的事情都可以匆忙变得更加复杂。
你有几个选择:
1)将您的Excel工作表保存到csv文件并解析它。
2)使用COM API(Windows专有且棘手)
3) 请参阅此链接以获取可以修改的C ++类。
可以在此处找到另一个用于从excel文件读取数据的C lib。