Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Excel文件中嵌入对象的读取_C#_Asp.net_Excel - Fatal编程技术网

C# Excel文件中嵌入对象的读取

C# Excel文件中嵌入对象的读取,c#,asp.net,excel,C#,Asp.net,Excel,我有一个excel文件包含附件列,其中嵌入了另一个excel对象 我需要读取嵌入的excel文件并处理其数据 到目前为止,我习惯于读取普通excel文件并作为数据集进行检索 FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read); //Reading from a binary Excel file ('97-2003 format; *.xls) IExcelDataReader excelReader

我有一个excel文件包含
附件列
,其中嵌入了另一个excel对象

我需要读取嵌入的excel文件并处理其数据

到目前为止,我习惯于读取普通excel文件并作为数据集进行检索

FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);

//Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);

// Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);

DataSet result = excelReader.AsDataSet();

excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();


while (excelReader.Read())
{
    //excelReader.GetInt32(0);
}

excelReader.Close();

现在我想读取嵌入对象(excel文件)

是否有任何dll/组件/代码可以帮助我们读取excel文件中的嵌入对象?


注意:服务器中没有安装Microsoft Office软件包。因此,我不想使用Microsoft.Interoperability软件包

您是否在某处发布了类似的示例文件?@SimonMourier我为您添加了该文件。请从此处查看文件此“Excel Reader”工具不支持此类数据。我尝试了EPPlus(),但它也不起作用。您必须修改Excel Reader的源代码才能处理此问题。从技术上讲,这些文件存在于XLSX中,如果您将其重命名为.ZIP文件并打开它,您将看到它们位于
xl\embeddings
路径中。@SimonMourier,非常感谢。我们有没有其他简单的方法可以使用一些FileStream读取这个xl\embeddings,然后获取包含的文件并使用ExcelReader进行读取您现在能做的最好的方法是使用适合您的任何.ZIP库打开该文件,并将该文件提取为.ZIP中的条目。