使用C#编写Excel文件时出现奇怪的字符

我想用C#.net创build一个excel文档。 但是在我可以正确地写入一些值之后,最后的单元格会有一些奇怪的字符,例如与我从简单的txt文件中获得的内容无关的字符:

Q%R SIG5oH g7 j FnJ 9 RG8 P; K}r i : + J F ]dF Y Pd 1 C OӘ$D0 ..r

这是我的Excel创build者类:

class CreateExcelDoc { Microsoft.Office.Interop.Excel.Application ExcelUygulama; Microsoft.Office.Interop.Excel.Workbook ExcelProje; Microsoft.Office.Interop.Excel.Worksheet ExcelSayfa; object Missing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Range ExcelRange; string s_dosyaadi = ""; string s_veri = ""; public CreateExcelDoc() { ExcelUygulama = new Microsoft.Office.Interop.Excel.Application(); ExcelProje = ExcelUygulama.Workbooks.Add(Missing); ExcelSayfa = (Microsoft.Office.Interop.Excel.Worksheet)ExcelProje.Worksheets.get_Item(1); ExcelRange = ExcelSayfa.UsedRange; ExcelSayfa = (Microsoft.Office.Interop.Excel.Worksheet)ExcelUygulama.ActiveSheet; ExcelUygulama.Visible = false; ExcelUygulama.AlertBeforeOverwriting = false; } public void HucreyeYaz(int row, int col, string s_veri) // write to a cell { if (s_veri != "" && row != 0 && col != 0) { Microsoft.Office.Interop.Excel.Range bolge = (Microsoft.Office.Interop.Excel.Range)ExcelSayfa.Cells[row, col]; bolge.Value2 = s_veri; } } public void Kaydet() // saves the excel document { ExcelProje.SaveAs(@"C:\excels\dosya.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Missing, Missing, false, Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange); ExcelProje.Close(true, Missing, Missing); ExcelUygulama.Quit(); } } 

您可以通过插入数据并将其保存为xlsx文件来创buildhtml文档,而不是使用Ms Office库。 因为,如果您依赖Ms Office库,则可能需要在运行应用程序的机器上安装Office。

您可以将excel文件保存为html,并且可以从应用程序修改其内容并将其保存为xlsx文件。