Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i = 0;
int j = 0;
for (i = 0; i <= dataGridView1.RowCount - 1; i++)
{
for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
{
DataGridViewCell cell = dataGridView1[j, i];
xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
}
}...
如上所示,我将数据从datagridview导出到.xls文件。问题是,当导出文件时,大于10个数字左右的数据在Excel中打开文件时似乎以科学记数法表示。这导致数据。我不能允许自己,因为数据是代码而不是计数。
答案 0 :(得分:2)
如果Cell.Value可以解释为数字,Excel会将其解释为数字。除非Cell.NumberFormat是Text(“@”)。
尝试
...
xlWorkSheet.Cells[i + 1, j + 1].NumberFormat = "@";
xlWorkSheet.Cells[i + 1, j + 1] = cell.Value
...
问候
阿克塞尔