У меня есть следующий код C #, который открывает этот текстовый файл с разделителями табуляции и выполняет сохранение в файл Excel.Проблема, с которой я сталкиваюсь, заключается в том, что некоторые текстовые поля имеют значение, например «9101010521297461515213», преобразуется в «9.10101E + 21».Как предотвратить преобразование в научную нотацию и оставить текст вместо использования функции ниже?
public void SaveTextFileAsExcel(string filefrompath, string filetopath, string newtabname)
{
// Excel object references.
Excel.Application m_objExcel = new Excel.Application();
Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
Excel._Workbook m_objBook = null;
Excel.Sheets m_objSheets = null;
Excel._Worksheet m_objSheet = null;
// Frequenty-used variable for optional arguments.
object m_objOpt = System.Reflection.Missing.Value;
if (filefrompath != "")
{
m_objBooks.OpenText(filefrompath, Excel.XlPlatform.xlWindows,1,
Excel.XlTextParsingType.xlDelimited, Excel.XlTextQualifier.xlTextQualifierDoubleQuote,
false, true, false, false, false, false,m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook = m_objExcel.ActiveWorkbook;
m_objSheets = m_objBook.Worksheets;
m_objSheet = (Excel.Worksheet)m_objSheets.get_Item(1);//Get the reference of second worksheet
string strWorksheetName = m_objSheet.Name;//Get the name of worksheet.
if (newtabname != "")
{
m_objSheet.Name = newtabname;
}
if (filetopath !="")
{
// Save the text file in the typical workbook format and quit Excel.
m_objBook.SaveAs(filetopath, Excel.XlFileFormat.xlWorkbookNormal,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt);
} //if (filetopath !="")
} //if (filefrompath != "")
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();
} //SaveAsExcel