将Csv文件导入Excel,并replace按列分隔的逗号

您好我需要导入一些csv文件填充从LINQ查询结果使用LinqToCsv库到Excel工作簿通过更改逗号为列之间的数据?

`//Generate CSV Files for each item in the Listview CsvFileDescription outpCsvFileDescription = new CsvFileDescription { SeparatorChar = ',', FirstLineHasColumnNames = true }; for (int i = 0; i < listView.Items.Count; i++) { dynamic currentItemInLoop = listView.Items[i]; //On est obligé de cast cette variable en String pour qu'on puisse l'utiliser dans le LinQ //currentItemInLoop.nameAttribute => MainWindow.xaml -> ListView x:Name="listView" -> Columns... String frs = (String)currentItemInLoop.Name; DateTime myDate = (DateTime) currentItemInLoop.TransactionDate; var infoEcheances = from f in db.F_ECHEANCES join c in db.F_LECRITURES on f.ECH_No equals c.ECH_No where f.ECH_Intitule == frs && EntityFunctions.TruncateTime(f.cbModification) == EntityFunctions.TruncateTime(DatePicker.SelectedDate) select new { f.ECH_DateEch, f.ECH_RefPiece, f.ECH_Libelle, c.LEC_Montant, f.ECH_Montant }; CsvContext cc = new CsvContext(); string myPath = @"C:\Users\DefaultAccount\Desktop\Projet Top Of Travel\FichiersCSV\"; string filename = string.Format(frs); filename = Regex.Replace(filename + " " + myDate, @"[^0-9a-zA-Z]", " "); string finalPath = System.IO.Path.Combine(myPath, filename + ".csv"); cc.Write(infoEcheances, finalPath, outpCsvFileDescription);` 

你可以使用COM从c#直接进入Excel。

 using Excel = Microsoft.Office.Interop.Excel; public class ExcelReports { public Excel.Application excelApp; public Excel.Workbook excelWorkbook; public Excel.Worksheet excelWorksheet; public int row = 1; public int col = 1; public ExcelReports( String fullName ) { excelApp = new Excel.Application(); Excel.Workbook newWorkbook = excelApp.Workbooks.Add(); excelWorkbook = excelApp.ActiveWorkbook; excelWorksheet = (Excel.Worksheet)excelWorkbook.Worksheets.Add(); excelWorksheet.Cells.ClearContents(); excelWorksheet.Cells[row, col] = "hello"; } 

}

代码来设置一个单元格…从我的代码切…你可以改变这个输出从每一行数组。 它可能需要按摩才能工作。 networking上有很多广泛的例子。 有一些优化,使其快速工作。

Excel还将导入CSV文件,并允许您对分隔符等进行一些控制,但是这个过程是手动的。