2
我目前正在嘗試從Excel電子表格中讀取單元格,並且它在我不需要時似乎會重新格式化單元格。我希望它作爲計劃文本來完成。我已經閱讀了幾個針對這個問題的解決方案,並且已經實現了它們,但我仍然遇到同樣的問題。從Excel中讀取列,重新格式化單元格
閱讀器將日期的數字和數字變成日期。
例子:
週五2016年1月29日出來是:42398
和
40.00出來是:1900年2月9日上午12點00分○○秒
代碼:
string stringconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + files[0] + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";
try {
OleDbConnection conn = new OleDbConnection(stringconn);
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [CUAnswers$]", conn);
DataTable dt = new DataTable();
try {
printdt(dt);
我試圖
IMEX=0;
HDR=NO;
TypeGuessRows=1;
這是我如何打印出的紙張
public void printdt(DataTable dt) {
int counter1 = 0;
int counter2 = 0;
string temp = "";
foreach (DataRow dataRow in dt.Rows) {
foreach (var item in dataRow.ItemArray) {
temp += " ["+counter1+"]["+counter2+"]"+ item +", ";
counter2++;
}
counter1++;
logger.Debug(temp);
temp = "";
counter2 = 0;
}
}
這沒有幫助。我不想重新轉換它。我希望它以正確的格式出來。或者就像計劃文本一樣。 –
在我看來,如果你想讀一個單元格作爲字符串,那麼它需要輸入爲一個字符串,而不是一個日期時間(或其他)。您可能需要更改電子表格並將這些單元格轉換爲文本,可能需要用單引號將值加前綴。 (這可能不是你想要的答案。) –
@Sari請在我的編輯中看到新的想法。 –