溫馨提示×

c# excel表格中的數(shù)據(jù)怎么提取

c#
小億
226
2023-07-26 23:41:15
欄目: 編程語言

在C#中,可以使用Excel Interop庫或者第三方庫如NPOI來提取Excel表格中的數(shù)據(jù)。

  1. 使用Excel Interop庫:
using Excel = Microsoft.Office.Interop.Excel;
// 打開Excel文件
Excel.Application excelApp = new Excel.Application();
Excel.Workbook workbook = excelApp.Workbooks.Open(@"C:\path\to\your\excel.xlsx");
Excel.Worksheet worksheet = workbook.Sheets[1];
// 獲取數(shù)據(jù)范圍
Excel.Range range = worksheet.UsedRange;
// 遍歷每個單元格并提取數(shù)據(jù)
for (int row = 1; row <= range.Rows.Count; row++)
{
for (int column = 1; column <= range.Columns.Count; column++)
{
// 獲取單元格的值
string cellValue = range.Cells[row, column].Value.ToString();
Console.WriteLine(cellValue);
}
}
// 關(guān)閉Excel應(yīng)用程序
workbook.Close();
excelApp.Quit();
  1. 使用NPOI庫:

首先,需要通過NuGet安裝NPOI庫。

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 打開Excel文件
FileStream fs = new FileStream(@"C:\path\to\your\excel.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = new XSSFWorkbook(fs);
ISheet sheet = workbook.GetSheetAt(0);
// 獲取數(shù)據(jù)行數(shù)
int rowCount = sheet.LastRowNum + 1;
// 遍歷每行并提取數(shù)據(jù)
for (int row = 0; row < rowCount; row++)
{
IRow excelRow = sheet.GetRow(row);
// 獲取每行中的單元格數(shù)量
int cellCount = excelRow.LastCellNum;
// 遍歷每個單元格并提取數(shù)據(jù)
for (int cell = 0; cell < cellCount; cell++)
{
ICell excelCell = excelRow.GetCell(cell);
// 根據(jù)單元格類型提取數(shù)據(jù)
string cellValue = "";
if (excelCell.CellType == CellType.Numeric)
{
cellValue = excelCell.NumericCellValue.ToString();
}
else if (excelCell.CellType == CellType.String)
{
cellValue = excelCell.StringCellValue;
}
else if (excelCell.CellType == CellType.Boolean)
{
cellValue = excelCell.BooleanCellValue.ToString();
}
Console.WriteLine(cellValue);
}
}
// 關(guān)閉文件流
fs.Close();

以上代碼示例提供了兩種方法來提取Excel表格中的數(shù)據(jù)。你可以根據(jù)具體需求來選擇合適的方法。

0