我需要從excel中獲取工作表到數據表。我第一次嘗試使用LinqToExcel庫,但是這從Excel表中取得了大量的指數。我在談論像「2352143523453452334544」這樣的大數字。只有當它們被格式化爲文本時,它才能正常工作。 之後,我已經試過這樣:Excel到dataTable
OleDbConnection con = null;
System.Data.DataTable dt = null;
System.Data.DataTable dataTable1 = new System.Data.DataTable();
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + UploadFileName + ";Extended Properties=Excel 8.0;";
string sql_xls;
con = new OleDbConnection(conStr);
con.Open();
//OracleDataAdapter oda = new OracleDataAdapter();
//OracleCommand cmd = new OracleCommand("select * from [Sheet1$]", con);
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string[] excelSheetNames = new string[dt.Rows.Count];
int i = 0;
foreach (System.Data.DataRow row in dt.Rows)
{
excelSheetNames[i] = row["TABLE_NAME"].ToString(); i++;
}
sql_xls = "SELECT * FROM [" + excelSheetNames[0] + "]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql_xls, conStr);
System.Data.DataSet myDataSet = new System.Data.DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
dataTable1 = myDataSet.Tables["ExcelInfo"];
這一個在相同的條件下爲空返回的值相同。 是不是有一個簡單的方法來從Excel文件中獲取數據,因爲它是?沒有轉換,沒有任何東西。把它全部作爲一個字符串,並把它放入一個數據表?
嘗試導出爲CSV格式。 – jcubic 2011-02-09 07:57:12