C# 如何在没有任何第三方工具的情况下将流转换为Excel工作表(.xls和.xlsx)

C# 如何在没有任何第三方工具的情况下将流转换为Excel工作表(.xls和.xlsx),c#,asp.net,.net,C#,Asp.net,.net,目前,我正在使用ExcelDataReader开源软件将数据流转换为Excel工作表,然后再转换为数据集,我希望在没有任何外部工具或dll的情况下执行相同的操作。这是为了让你的生活更轻松。如果您想在没有第三方工具的情况下自己阅读所有这些内容,您需要开始研究XLS和XLSX格式的规范,并自己解释它们 查看这些链接,如果你不想使用任何第三方工具,你必须自己编写大量代码(发布这些第三方工具的人已经多次编写了这些代码)…@marc_有没有关于哪些第三方工具可以做到这一点的想法?thanks@Standa

目前,我正在使用ExcelDataReader开源软件将数据流转换为Excel工作表,然后再转换为数据集,我希望在没有任何外部工具或dll的情况下执行相同的操作。这是为了让你的生活更轻松。如果您想在没有第三方工具的情况下自己阅读所有这些内容,您需要开始研究XLS和XLSX格式的规范,并自己解释它们


查看这些链接,如果你不想使用任何第三方工具,你必须自己编写大量代码(发布这些第三方工具的人已经多次编写了这些代码)…@marc_有没有关于哪些第三方工具可以做到这一点的想法?thanks@Standage:任何一家大型.NET工具供应商都有自己的产品-我们使用Aspose Pty的Aspose.Cells,但DevXPress、Telerik、SyncFusion-它们都提供某种形式的功能,可以非常方便地读取和写入基本的Office格式easily@marc_s您是否有aspose.cells将xls中的流转换为xlsx中的流的代码示例?我试着用谷歌搜索它,想尝试免费的TrialTanks-Dan pdf,我会尝试生成我们自己的dll。
Stream inputstream = Exceluploader.PostedFile.InputStream;

if (extenstion == ".xls")
{
   //1. Reading from a binary Excel file ('97-2003 format; *.xls)
   excelReader = ExcelReaderFactory.CreateBinaryReader(inputstream);
   excelReader.IsFirstRowAsColumnNames = true;
}

if (extenstion == ".xlsx")
{
   //...
   //2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
   excelReader = ExcelReaderFactory.CreateOpenXmlReader(inputstream);
   excelReader.IsFirstRowAsColumnNames = true;
}