我的C#代码正在为excel文件工作,并且正在读取所有行,但对于另一个文件,它只读取第一行和第一列。 连接字符串:
sConnStr1 = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=" + info1.FullName + ";DefaultDir=" + info1.Directory + ";";
代码:
System.Data.Odbc.OdbcConnection conn;
DataTable dt1 = new DataTable();
System.Data.Odbc.OdbcDataAdapter da;
string file = sFilePath;
conn = new System.Data.Odbc.OdbcConnection(sConnStr1);
da = new System.Data.Odbc.OdbcDataAdapter(sDAstr1, conn);
da.Fill(dt1);
有人可以指导我。这是我面临完成申请的最后一个问题。
答案 0 :(得分:0)
除非您在Excel中使用特定格式,否则上述代码应该有效。下面是我尝试打开多个excel文件并且正在运行的示例代码。
try
{
string connectionString = @"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\Temp\temp.xlsx;";
System.Data.Odbc.OdbcConnection connection;
System.Data.DataTable dataTable = new System.Data.DataTable("excelImport");
System.Data.Odbc.OdbcDataAdapter dataAdapter;
string m_selectSQL = "SELECT * FROM [Sheet1$]";
connection = new System.Data.Odbc.OdbcConnection(connectionString);
dataAdapter = new System.Data.Odbc.OdbcDataAdapter(m_selectSQL, connection);
dataAdapter.Fill(dataTable);
}
catch (Exception e)
{
}