Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.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# 如何在不使用第三方dll的情况下从c中的excel中读取值?_C# - Fatal编程技术网

C# 如何在不使用第三方dll的情况下从c中的excel中读取值?

C# 如何在不使用第三方dll的情况下从c中的excel中读取值?,c#,C#,我有一个excel文件,在C中名为strings.xls: 可以将r与Microsoft Excel工作簿一起使用,从Excel中读取值。这是一篇很好的codeproject文章,其中包含了的示例代码 您也可以使用Microsoft.Office.Interop.Excel进行操作,这将是一个很好的起点。您不能 由于这是一个二进制格式的XLS文件,最简单的解决方案是使用Excel Microsoft Jet OLE DB驱动程序来检索该值 如果您可以更改流程以提供XLSX文件,则可以在plain

我有一个excel文件,在C中名为strings.xls:

可以将r与Microsoft Excel工作簿一起使用,从Excel中读取值。这是一篇很好的codeproject文章,其中包含了的示例代码

您也可以使用Microsoft.Office.Interop.Excel进行操作,这将是一个很好的起点。

您不能

由于这是一个二进制格式的XLS文件,最简单的解决方案是使用Excel Microsoft Jet OLE DB驱动程序来检索该值


如果您可以更改流程以提供XLSX文件,则可以在plain.NET中打开,然后解析XML文件中的值。

您可以使用提供程序连接到Excel文件


看看这个。

到目前为止你都试过什么?请阅读,为什么?不使用现有库有什么好处?对于第三方,是否包括非微软制造的库?是否可以使用Microsoft.Office.Interop.Excel?但我不知道如何实现这一点。请给我一个代码片段。我使用的代码和你之前提到的一样。当文件在相关路径中不存在时,它会添加值。但是我想从strings.xls文件中获取作为字典的值。请检查我更新的问题。与OP无关,但您真的可以在没有任何第三方库的情况下解析.xlsx文件吗?是的,使用System.IO.Packaging和System.Xml。当然,只对非常简单的文件来说很简单。很酷,谢谢,我不知道。我一直在使用reading.xlsx。a+1
Excel.Application excelApp = new Excel.Application();
        string workbookPath = "c:/strings.xls"; 

        Excel.Workbook excelWorkbook = null;

        try
        {
            excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0,
                false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true,
                false, 0, true, false, false);
        }
        catch
        {
            excelWorkbook = excelApp.Workbooks.Add();
        }
        Excel.Sheets excelSheets = excelWorkbook.Worksheets;
        string currentSheet = "Sheet1";
        Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
        Excel.Range excelCell = (Excel.Range)excelWorksheet.get_Range("A1", "A1");
        excelCell.Value2 = "Hi There";