C# 按顺序获取Excel文件中的所有图纸名称
我试图将所有工作表名称按Excel文件中相同的顺序放入数组。目前,我已将所有工作表单独提交如下:C# 按顺序获取Excel文件中的所有图纸名称,c#,C#,我试图将所有工作表名称按Excel文件中相同的顺序放入数组。目前,我已将所有工作表单独提交如下: var pathToExcel = @"C:\Users\Desktop\Everything.xlsx"; var sheetName = "sheet 1"; var destinationPath = @"C:\Users\Desktop\sheet1.json"; var connectionString = String.Format(@" Provider=Mic
var pathToExcel = @"C:\Users\Desktop\Everything.xlsx";
var sheetName = "sheet 1";
var destinationPath = @"C:\Users\Desktop\sheet1.json";
var connectionString = String.Format(@"
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source={0};
Extended Properties=""Excel 12.0 Xml;HDR=YES""
", pathToExcel);
我想知道如何获取数组中的所有工作表名称。我建议您通过NuGet添加包EPPlus,并使用以下代码段
using (var package = new ExcelPackage("c:\\yourfile.xlsx"))
{
return package.Workbook.Worksheets.Select(x => x.Name);
}
我建议您通过NuGet添加包EPPlus,并使用以下代码段
using (var package = new ExcelPackage("c:\\yourfile.xlsx"))
{
return package.Workbook.Worksheets.Select(x => x.Name);
}
试试这个
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
String[] sheetNames = new String[dt.Rows.Count];
int i = 0;
foreach (DataRow row in dt.Rows)
{
sheetNames[i] = row["TABLE_NAME"].ToString();
i++;
}
试试这个
OleDbConnection conn = new OleDbConnection(connectionString);
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
String[] sheetNames = new String[dt.Rows.Count];
int i = 0;
foreach (DataRow row in dt.Rows)
{
sheetNames[i] = row["TABLE_NAME"].ToString();
i++;
}