将excel转换为c#中的数据表?
如何使用interop在c#中将excel转换为datatable。 转换excel时遇到问题。将excel转换为c#中的数据表?,c#,C#,如何使用interop在c#中将excel转换为datatable。 转换excel时遇到问题。 我是网络新手。非常感谢您的帮助。您可以使用下面的函数将excel转换为datatable。您只需将excel路径传递到此函数,此函数将返回datatable: public DataTable READExcel(string path) { Microsoft.Office.Interop.Excel.Application objXL = null; Mi
我是网络新手。非常感谢您的帮助。您可以使用下面的函数将excel转换为datatable。您只需将excel路径传递到此函数,此函数将返回datatable:
public DataTable READExcel(string path)
{
Microsoft.Office.Interop.Excel.Application objXL = null;
Microsoft.Office.Interop.Excel.Workbook objWB = null;
objXL = new Microsoft.Office.Interop.Excel.Application();
objWB = objXL.Workbooks.Open(path);
Microsoft.Office.Interop.Excel.Worksheet objSHT = objWB.Worksheets[1];
int rows = objSHT.UsedRange.Rows.Count;
int cols = objSHT.UsedRange.Columns.Count;
DataTable dt = new DataTable();
int noofrow = 1;
for (int c = 1; c <= cols; c++)
{
string colname = objSHT.Cells[1, c].Text;
dt.Columns.Add(colname);
noofrow = 2;
}
for (int r = noofrow; r <= rows; r++)
{
DataRow dr = dt.NewRow();
for (int c = 1; c <= cols; c++)
{
dr[c - 1] = objSHT.Cells[r, c].Text;
}
dt.Rows.Add(dr);
}
objWB.Close();
objXL.Quit();
return dt;
}
公共数据表READExcel(字符串路径)
{
Microsoft.Office.Interop.Excel.Application objXL=null;
Microsoft.Office.Interop.Excel.Workbook objWB=null;
objXL=新的Microsoft.Office.Interop.Excel.Application();
objWB=objXL.Workbooks.Open(路径);
Microsoft.Office.Interop.Excel.Worksheet objSHT=objWB.Worksheets[1];
int rows=objSHT.UsedRange.rows.Count;
int cols=objSHT.UsedRange.Columns.Count;
DataTable dt=新的DataTable();
int noofrow=1;
对于.Net core中的(int c=1;c),可以使用Syncfusion.XlsIO
安装软件包Syncfusion.XlsIO.Net.Core-版本17.2.0.49
private DataTable ConvertExcelToDataTable(string path)
{
using (Stream inputStream = File.OpenRead(path))
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
IWorkbook workbook = application.Workbooks.Open(inputStream);
IWorksheet worksheet = workbook.Worksheets[0];
DataTable dataTable = worksheet.ExportDataTable(worksheet.UsedRange, ExcelExportDataTableOptions.ColumnNames);
return dataTable;
}
}
}
谢谢,很好用。