我将数据从DataGridView导出到Excel。一切都很好但是当列中的数据有,例如:000115455时,Excel忽略了' 0' 0并插入115455.我接下来尝试:
这些都不起作用!
导出到excel并保存文件的代码片段
ExcelApp = new Microsoft.Office.Interop.Excel.Application();
ExcelLibro = ExcelApp.Workbooks.Add(misDatos);
ExcelHoja = (Excel.Worksheet)ExcelLibro.Worksheets.get_Item(1);
Excel.Range rangoHoja = (Excel.Range)ExcelHoja.Cells[1, 1];
rangoHoja.Select();
ExcelHoja.PasteSpecial(rangoHoja, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true);
ExcelLibro.SaveAs(opcionSFD.FileName,
Excel.XlFileFormat.xlWorkbookNormal,
misDatos,
misDatos,
misDatos,
misDatos,
Excel.XlSaveAsAccessMode.xlExclusive,
misDatos,
misDatos,
misDatos,
misDatos,
misDatos);
ExcelApp.DisplayAlerts = true;
ExcelLibro.Close(true, misDatos, misDatos);
ExcelApp.Quit();
我能做什么?
答案 0 :(得分:0)
这对我有用:
在致电ExcelHoja.PasteSpecial(...)
之前添加以下行:
rangoHoja.NumberFormat = "@";
这会将单元格的格式设置为 Text 。
...
rangoHoja.Select();
rangoHoja.NumberFormat = "@"; //Added Line
ExcelHoja.PasteSpecial(...);
...
希望这有帮助