我正在尝试转换一个csv文件到excel
我有这个代码
string targetFileName = GenerateTargetFileName(sourceFileName);
string sourcePath = Path.Combine(sourceloc, sourceFileName);
string targetPath = Path.Combine(targetloc, targetFileName);
Excel.Application xl = new Excel.Application();
Excel.Workbook wb = xl.Workbooks.Open(sourcePath);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets.get_Item(1);
Excel.Range used = ws.UsedRange;
used.EntireColumn.AutoFit();
wb.SaveAs(targetPath, 51);
wb.Close();
xl.Quit();
//sylvan data way - file is corrupted and wont open - but saves
//var csvreader = CsvDataReader.Create(sourcePath);
//var excelwrite = ExcelDataWriter.Create(targetPath);
//excelwrite.Write(csvreader);
字符串
它在本地机器上工作正常,但我需要在没有excel的服务器上运行它-我相信interop不会在这上面工作,所以我正在尝试
//sylvana数据方式-在上面的代码中-这会生成一个文件,但文件每次都较小且损坏,无法打开。
任何建议如何让它在没有Excel的服务器上工作
尝试以上两种方法都生成一个文件- 1工程在本地机器上,但不工作在服务器上,由于互操作,另一种方法工程在两个,但文件已损坏
1条答案
按热度按时间weylhg0b1#
使用Sylvan ExcelDataWriter时,您必须处置写入器。文档的最终化发生在处置过程中,如果没有它,您将最终得到一个部分写入的文件,正如您所看到的。
我是这个库的作者,是的,文档是最少的,但我觉得这一点在示例代码中做得很清楚:
字符串