- PR -

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

1
投稿者投稿内容
天王寺龍一郎
会議室デビュー日: 2004/07/27
投稿数: 9
投稿日時: 2004-07-27 18:53
初めまして。
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のものです)
あみゅせる
常連さん
会議室デビュー日: 2004/07/08
投稿数: 33
お住まい・勤務地: 神奈川県
投稿日時: 2004-07-27 19:09
こんにちは。

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

エディタでソースを見ればVBAですが
オブジェクト操作はほとんどCSも同じだと思います。
_________________
天王寺龍一郎
会議室デビュー日: 2004/07/27
投稿数: 9
投稿日時: 2004-07-27 19:15
VBAとのソースとほぼ一緒だったんですね。
これはよいことを教えていただきました。ありがとうございますm(_ _)m
早速試してみます!
1

スキルアップ/キャリアアップ(JOB@IT)