|
|||||
<このサンプルの概要> エクセルを起動しいろんな操作をするサンプルソース(C#.NET)です。 エクセルは便利ですね。 表形式の画面を表示するとすぐに、エクセルやCSVに出力したいという要望が発生します。 特にDataGridViewとエクセルの関係は深そうです。そんな時に役立つ小技のサンプルです。 具体的には以下の事を試しています。 1.エクセル起動 2.エクセル非表示 3.ブック追加 4.シート選択 5.カラム幅設定 6.カラムの書式設定 7.セルの選択 8.セルのフォント設定 9.セルの背景色設定 10.セルの文字色設定 11.エクセル表示 12.エクセルを閉じる エクセル関係のその他ののサンプルはこちらです。 エクセルを使用した帳票印刷のサンプル(VB.NET) エクセルを使用した帳票印刷のサンプル(C#.NET) エクセルを操作する小技のサンプル(VB.NET) エクセルを起動しいろいろ操作するサンプル(VB6) エクセルを起動しいろいろ操作するサンプル(VBS) エクセルへデータをコピーし表示するサンプル(VB6) using Excel = Microsoft.Office.Interop.Excel; using System.Runtime.InteropServices; public partial class Form2 : Form { // Excel.Applicationを有効にするため参照の追加を行なってください // [参照の追加],[COM],[Microsoft Excel *.* Object Library] // 参照設定に[Excel](ファイル名:Interop.Excel.dll)が追加されます Excel.Application oXlsApp; Excel.Worksheet oSheet; Excel.Range oRange; private void button1_Click(object sender, EventArgs e) { // エクセル起動 oXlsApp = new Excel.Application(); // エクセル非表示 oXlsApp.Application.Visible = false; oXlsApp.Application.DisplayAlerts = false; // ブック追加 oXlsApp.Application.Workbooks.Add(Type.Missing); // シート選択 oSheet = (Excel.Worksheet)oXlsApp.Worksheets[1]; // カラム幅設定 //oSheet.Columns("C").ColumnWidth = 20 ((Excel.Range)oSheet.get_Range( oSheet.Cells[1, 3], oSheet.Cells[65535, 3])).ColumnWidth = 20; // カラムの書式設定の表示形式を文字列にする //oSheet.Columns("C").NumberFormatLocal = "@" ((Excel.Range)oSheet.get_Range( oSheet.Cells[1, 3], oSheet.Cells[65535, 3])).NumberFormatLocal = "@"; // セル選択 //oRange = oSheet.Range("C3") oRange = oSheet.get_Range( oSheet.Cells[3, 3], oSheet.Cells[3, 3]); // セルのフォント設定 oRange.Font.Size = 16; oRange.Font.Name = "MS 明朝"; // セルにデータ書込み //oRange.Value = "1234567890" oRange.Value2 = "1234567890"; // セルの背景色設定 oRange.Interior.Color = 0x44FFFF; // セルの文字色設定 oRange.Font.Color = 0xFF0000; // エクセル表示 oXlsApp.Application.Visible = true; } private void Form2_FormClosing( object sender, FormClosingEventArgs e) { // エクセルを閉じる if (oXlsApp != null) oXlsApp.Quit(); oRange = null; oSheet = null; oXlsApp = null; } } |