[英]How to load strings with DataTable.Load() not as numbers?
我有以下代碼:
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dataTable = ds.Tables.Add("Utilizatori");
Microsoft.Office.Interop.Excel.Range range = Globals.Sheet13.Range["A7", "D12"];
Microsoft.Office.Tools.Excel.ListObject listObject = Globals.Sheet13.Controls.AddListObject(range, "Utilizatori");
try
{
dataTable.Clear();
using (var cmd = new MySqlCommand())
{
cmd.Connection = mySqlConnection;
cmd.CommandText = "SELECT id, telefon, e_mail, worksheet_name, adresa, nume FROM consumatori";
MySqlDataReader reader = cmd.ExecuteReader();
dataTable.Load(reader, System.Data.LoadOption.OverwriteChanges);
listObject.AutoSetDataBoundColumnHeaders = true;
listObject.SetDataBinding(ds, "Utilizatori");
}
}
catch (Exception exception)
{
System.Windows.Forms.MessageBox.Show(exception.Message);
}
從“電話”字段中,我想檢索數字中以 0 開頭的數字。
現在,我的 Excel 表將“ 0 7xxxxxxxx”字符串作為數字輸入,例如 7xxxxxxxx。 我無法弄清楚這一點,加載方法將其轉換為數字,還是 Excel 表格格式將字符串轉換為數字?
謝謝您的幫助!
事實證明 Excel Sheet 是罪魁禍首。 我正在輸入數字,從 0 開始,他將它們格式化為數字。
foreach (Microsoft.Office.Interop.Excel.ListColumn column in listObject.ListColumns)
{
column.Range.Cells.NumberFormat = "@";
}
通過將格式設置為文本,它可以正確顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.