从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.xmlsheet2.xmlsheet3.xml )。

在这些内部,您正在寻找标签。 在其中,您将拥有标签(每行数据一个),并且在其中标签,其属性为r=RC ,其中RC由正常的行/列表示法替换(例如,“ A1″ )。 标签将嵌套标签,您可以在其中找到该单元格的值。

我确实觉得有必要添加一个警告:虽然阅读真正简单的数据确实可以很简单,但如果你决定做的不仅仅是阅读简单的行/列数字,那么生活会变得更加复杂。 尝试做任何比这更复杂的事情都可以匆忙变得更加复杂。

你有几个选择:
1)将您的Excel工作表保存到csv文件并解析它。
2)使用COM API(Windows专有且棘手)
3) 请参阅此链接以获取可以修改的C ++类。

可以在此处找到另一个用于从excel文件读取数据的C lib。