在C#中,可以使用Excel Interop庫或者第三方庫如NPOI來提取Excel表格中的數據。
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];
// 獲取數據范圍
Excel.Range range = worksheet.UsedRange;
// 遍歷每個單元格并提取數據
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);
}
}
// 關閉Excel應用程序
workbook.Close();
excelApp.Quit();
首先,需要通過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);
// 獲取數據行數
int rowCount = sheet.LastRowNum + 1;
// 遍歷每行并提取數據
for (int row = 0; row < rowCount; row++)
{
IRow excelRow = sheet.GetRow(row);
// 獲取每行中的單元格數量
int cellCount = excelRow.LastCellNum;
// 遍歷每個單元格并提取數據
for (int cell = 0; cell < cellCount; cell++)
{
ICell excelCell = excelRow.GetCell(cell);
// 根據單元格類型提取數據
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);
}
}
// 關閉文件流
fs.Close();
以上代碼示例提供了兩種方法來提取Excel表格中的數據。你可以根據具體需求來選擇合適的方法。