简体   繁体   English

Excel Scientific Notation以编程方式在C#中进行字符串转换

[英]Excel Scientific Notation to string conversion in C# programmatically

what i've already done... 我已经做了...

  1. reading the excel file content into datatable 将Excel文件内容读取到数据表中
  2. one of column contains data in scientific notation (eg 6.75436E+12) 列之一包含科学计数形式的数据(例如6.75436E + 12)

      string filename = Server.MapPath("testfile.xlsx"); string conStr = ""; string Extension = ".xlsx"; switch (Extension) { case ".xls": //Excel 97-03 conStr = ConfigurationManager.ConnectionStrings["Excel03ConString"] .ConnectionString; break; case ".xlsx": //Excel 07 conStr = ConfigurationManager.ConnectionStrings["Excel07ConString"] .ConnectionString; break; } conStr = String.Format(conStr, filename, "Yes"); OleDbConnection connExcel = new OleDbConnection(conStr); OleDbCommand cmdExcel = new OleDbCommand(); OleDbDataAdapter oda = new OleDbDataAdapter(); DataTable dt = new DataTable(); cmdExcel.Connection = connExcel; //Get the name of First Sheet connExcel.Open(); DataTable dtExcelSchema; dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString(); connExcel.Close(); //Read Data from First Sheet connExcel.Open(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; oda.SelectCommand = cmdExcel; oda.Fill(dt); connExcel.Close(); 

    how can scientific notation be converted to actual data (eg 6754357899912) 科学计数法如何转换为实际数据(例如6754357899912)

Try using this: 尝试使用此:

double result = Double.Parse("6.75436E+12", System.Globalization.NumberStyles.Float);

*NB that when you hover the value in c# it'll look like sci still but it is indeed a double. *注意,当您将值悬停在c#中时,它看起来仍然像sci,但实际上是两倍。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM