繁体   English   中英

在C#WPF应用程序中打开并读取Excel文件

[英]Open and read Excel file in C# WPF application

我正在尝试打开本地计算机上的Excel文件,并从中取出一些值。 这些值是位于不同单元格中的字符串和数字的混合。 将使用openFileDialog打开Excel文件。 我正在使用C#并开发桌面应用程序(WPF)。 这是我正在实现的代码:

     Excel.Application excelApp = new Excel.Application();
        string workbookPath = "C:/Users/b_prashanth/Documents/26. Workload Modeling generic template.xlsx";
        Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath);
        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");

那这样的东西呢? 您遇到了什么问题?

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.DefaultExt = ".xlsx";
bool? result = dlg.ShowDialog();

if (result != true) return;

string workbookPath = dlg.FileName;

Excel.Application excelApp = new Excel.Application();
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath);
Excel.Worksheet sheet = excelWorkbook.Sheets["Sheet1"] as Excel.Worksheet; 

if (sheet == null) return;

Excel.Range range = sheet.get_Range("A1", Missing.Value)

var yourValue = range.Text;

我认为,OpenXML SDK应该可以为您提供帮助。
http://www.codeproject.com/Articles/670141/Read-and-Write-Microsoft-Excel-with-Open-XML-SDK
可通过nuget-DocumentFormat.OpenXML获得, 在这里您可以找到所需的所有类和算法。

您可以使用ADO驱动程序像数据库一样访问Excel工作表,而不是要求在计算机上安装Office的Office互操作。

这已在此处多次记录,并且非常容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM