string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", path + new_filename);
OleDbConnection objConn = null;
System.Data.DataTable dt_sheet = null;
objConn = new OleDbConnection(connectionString);
objConn.Open();
dt_sheet = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dt_sheet.Rows[0]["TABLE_NAME"].ToString();
if (dt_sheet.Rows.Count > 0)
{
if (dt_sheet.Rows[0]["TABLE_NAME"].ToString() == Handle.ToString(SheetName))
{
string query = String.Format("select * from [{0}]", SheetName);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
//rest code
}
}
如果我將data-> text轉換爲column-> text,但在我的情況下,日期將以強制日期格式輸入日期。我已經通過日期翻轉問題在stackoverflow,但它採取單一領域。我想在dataTable中獲得完整的excel,而不需要翻閱日期。有沒有什麼辦法可以搞定。另外一個問題是,在excel日期的某個時候可以僅僅作爲文本上傳,所以在後面的代碼中,我不能去強制功能來翻轉日期。 我使用的Visual Studio 2013,C#將excel導出爲數據表時,日期和月份值正在翻轉
我可以建議的最好的方法是循環瀏覽表單中的結果,並根據需要評估和重新格式化日期,然後填充數據表。 – Ortund
如果你能爲此創建一個[mcve],那將是非常有用的。 – Enigmativity
@Enigmativity您是否在談論我的建議? – Ortund