添加列以dynamic导出CSV

我正在读取员工表的值并将其导出为CSV,如下所示:

ID | Name | DOB | Address | City | State 1 Test 01/01/2000 xyz ab cd 

现在我的要求是增加薪水这个。 我已经准备好可以用CSV导出的工资了。

输出将如下所示:

 ID | Name | DOB | Address | City | State | Jan,2015 | Feb, 2015 1 Test 01/01/2000 xyz ab cd 1000 2000 

现在month-wise salary都会有新的logging。 就像4月份一样,3月份的工资也会增加。

如何根据从工资中提取的数据dynamic创build列?

将输出保存到DataTable

然后试试这个

 CSVWriter writer = new CSVWriter(yourDataTable); byte[] datatoexport = writer.ExportToBytes(); string fileName = string.Format("Export-{0}.csv", DateTime.Now.ToString("yyyyMMddhhmm")); return File(datatoexport, "text/csv", fileName); 

首先,你需要从数据中识别出工资到底有多less个月。 这可以通过c#轻松完成。 然后在相同的逻辑中,您可以使用下面的代码来为每个月的Excel表添加列。

 Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("filename", other parameters) Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Sheets.get_Item(SheetNumber); Excel.Range rng = xlWorkSheet.UsedRange; int colCount = rng.Columns.Count; int rowCount = rng.Rows.Count; rng = (Excel.Range)xlWorkSheet.Cells[rowCount, colCount]; Excel.Range newColumn = rng.EntireColumn; xlWorkSheet.Cells[1, colCount + 1] = "Jan";