QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

C#.NETでExcelのセルの設定を変えたい

初めまして。
C#.NET系で探していてここにたどり着きました。
これからお世話になると思いますので、よろしくお願いいたします。
さて、質問です。
C#.NETでエクセルのワークブックを新規で作成しました。
データも適当にできました。
ですが、そのままではあるセルに設定した「0001」というデータが
「1」というデータに置き換わってしまいます(セルの表示形式が標準形式になっているため)。
これを「0001」という形式にしたいのですが、
どのプロパティに何を設定すれば表示形式を変更することができるのでしょうか?

以下、ソースです。
// 空のワークシートを作成
Excel._Workbook workbook = _excelApp.Workbooks.Add( Missing.Value );
// アクティブシートの取得
Excel._Worksheet worksheet = (Excel.Worksheet)workbook.ActiveSheet;
// 最大行数
int rowCountMax = dt.Rows.Count;
// 最大項目数
int colCountMax = dt.Columns.Count;

            DataRow data = dt.Rows[0];
            for( int i = 0; i < colCountMax; i++ ) 
            {
                worksheet.Cells[ 1, i + 1 ] = data.Table.Columns[ i ].ColumnName;
            }

            for( int rowCount = 0; rowCount < rowCountMax; rowCount++ ) 
            {
                DataRow drc = dt.Rows[ rowCount ];
                for( int colCount = 0; colCount < colCountMax; colCount++ ) 
                {
                    worksheet.Cells[ rowCount + 2, colCount + 1 ] = drc[colCount];
                    worksheet.Cells.Select();
                    worksheet.Cells.AutoFit;
                    Excel.Range range = worksheet.Application.ActiveCell;
                    range.Style = Excel.xlColumnDataType.xlTextFormat
                }
            }
            workbook.SaveAs( outputPath + fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value );
            workbook.Close( false, Missing.Value, Missing.Value );

// _excelApp.Quit();
bFlg = true;
}
以上、ご教授いただければ幸いです。
作成環境:
Windows2000Professional
VisualStudio.NET(.NET Framework1.0のもの)
Excel Objectのライブラリ 9.0(エクセル2000のものです)

質問者:天王寺龍一郎

回答

こんにちは。

答えではないですが、
私がこの手の問題にあたったときは、
Excel上のマクロ記録でやりたいこと
を再現します。
今回のようにセルの書式設定を
「文字列」に設定などです。

エディタでソースを見ればVBAですが
オブジェクト操作はほとんどCSも同じだと思います。


投稿者:あみゅせる

編集 履歴 (0)

VBAとのソースとほぼ一緒だったんですね。
これはよいことを教えていただきました。ありがとうございますm(_ _)m
早速試してみます!

投稿者:天王寺龍一郎

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。