ここでは、ADO.Netを使用して、指定されたconnectionStringを使用してExcelファイルに接続します。これは正常に機能します。唯一の懸念は、シート名に対応するシートからの列名が返されないよりもスペース文字があるかどうかです。私のコード:
if (extension == ".xls")
{
connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("~\\ExcelUpload\\Excelsheets\\temp.xls") + ";" +
@"Extended Properties=" + "\"Excel 8.0;HDR=YES;\"";
}
else if (extension == ".xlsx")
{
connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + Server.MapPath("~\\ExcelUpload\\Excelsheets\\temp.xlsx") + ";" +
@"Extended Properties=" + "\"Excel 12.0;HDR=YES;\"";
}
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = connectionString;
connection.Open();
DataTable dt;
String[] restrection = { null, null, sheetName + "$", null };
dt = connection.GetSchema("Columns", restrection);
では、どうすればスペース文字を含むexcelsheet名をpaasできますか?