使用C#中的文本模板写入excel文件

时间:2014-12-01 06:17:21

标签: c# excel texttemplate

我想编写一个模板文件(* .tt)来将数据写入C#中的XLS文件。如何在单独的列中写入数据? 例如,我想要一个包含3列的excel文件,如下所示

column1   column2   column3
sss         ttt       rrr
www         qqq        aaa

但我无法将它们插入单独的列

<#= "sss " #><#= "ttt " #><#= "," #><#= "rrr" #>
<#= "www " #><#= "qqq " #><#= "," #><#= "aaa" #>

并且excel文件中的输出就像这样

column1
sss ttt rrr
www qqq aaa

并且所有数据都插入第一列

1 个答案:

答案 0 :(得分:0)

如果您选择使用Excel Interop,则以下是将数据放入Excel工作表的单独列中的演示。有关Excel对象模型参考的更多详细信息,请参阅this

using Excel = Microsoft.Office.Interop.Excel;

namespace ExcelInterop
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application xlApp = null;
            Excel.Workbook xlWorkBook = null;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Add();
            Excel.Worksheet newWorksheet = null;
            newWorksheet = (Excel.Worksheet)xlApp.Application.Worksheets.Add();
            xlApp.ScreenUpdating = false;
            Excel.Range excelRange = newWorksheet.UsedRange;

            // Column 1
            excelRange.Cells.set_Item(1, 1, "Column 1");

            // Column 1 Data
            excelRange.Cells.set_Item(2, 1, "sss");

            // Column 2
            excelRange.Cells.set_Item(1, 2, "Column 2");

            // Column 1 Data
            excelRange.Cells.set_Item(2, 2, "ttt");


            // Save it as .xls
            newWorksheet.SaveAs("D:\\ExcelInterop", Excel.XlFileFormat.xlExcel7);

            // Clean up
            xlWorkBook.Close();
            xlApp.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkBook);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);

        }
    }
}