0

C# で XLS ファイルにデータを書き込むためのテンプレート ファイル (*.tt) を作成したいと考えています。データを別々の列に書き込むにはどうすればよいですか? たとえば、次のように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

すべてのデータが最初の列に挿入されます

4

1 に答える 1

0

Excel Interop の使用を選択した場合、以下は、Excel ワークシートの別々の列にデータを配置するデモです。Excel オブジェクト モデル リファレンスの詳細については、こちらを参照してください。

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);

        }
    }
}
于 2014-12-01T09:45:56.930 に答える