Range オブジェクトの作成に数値を使用します
プログラミングで処理を行うので、Range("A1:A20") というような表現を使わずに、Cells(行,列) を使って Range オブジェクトを作成しています。
using System; namespace excel_2020_11_26 { class Program { static void Main(string[] args) { // Excel アプリケーション dynamic ExcelApp = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application")); // Excel のパス string path = Environment.CurrentDirectory + @"\sample.xlsx"; // Excel を表示( 完成したらコメント化 ) ExcelApp.Visible = true; // 警告を出さない ExcelApp.DisplayAlerts = false; try { // **************************** // ブック追加 // **************************** dynamic Book = ExcelApp.Workbooks.Add(); // 通常一つのシートが作成されています dynamic Sheet = Book.Worksheets(1); // **************************** // シート名変更 // **************************** Sheet.Name = "C#の処理"; // **************************** // セルに値を直接セット // **************************** for (int i = 1; i <= 10; i++) { Sheet.Cells(i, 1).Value = "処理 : " + i; } // **************************** // 1つのセルから // AutoFill で値をセット // **************************** Sheet.Cells(1,2).Value = "子"; // 基となるセル範囲 dynamic SourceRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(1, 2)); // オートフィルの範囲(基となるセル範囲を含む ) dynamic FillRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(10, 2)); SourceRange.AutoFill(FillRange); // **************************** // 保存 // **************************** Book.SaveAs(path); } catch (Exception ex) { ExcelApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp); Console.WriteLine(ex.Message); return; } ExcelApp.Quit(); // 解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelApp); Console.WriteLine("処理を終了します"); } } }
関連する記事
JScript : Excel の新しいブックのデフォルトのシートのセルに直接値をセットして、オートフィルを Range オブジェクトから実行する関連する Microsoft ドキュメント
Application オブジェクト Workbook オブジェクトのコレクション Workbook オブジェクト Worksheet オブジェクトのコレクション Worksheet オブジェクト Cells プロパティ
|
【VS(C#)の最新記事】
- Replit : cs-list
- C#( Form ) : ウインドウ枠の無い吹き出しの作成
- C# のタプル( Visual Studio 2017 でテスト )
- C# : インターネット上の JSON ファイルのフォーマットを クラスとして定義して1行でオブジェクト化して使用する
- C# の文法的文字列処理
- C# : System.Data.Odbc によるデータベースのテーブルからのデータ取得処理( サンプルの SQL は MySQL 用です )
- C# : Excel を データベースとして DataGridView に読み込む
- C# : dynamic 型 による Excel へのアクセス
- C# : フォームを表示せずに、通知領域にアイコンを表示させる常駐プログラム
- Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
- C# : System.Data.Odbc データ取得(SELECT)処理( MySQL ) : ※ using 無し( Dispose 実行 )
- C# : SQL 文を外部テキストにして、String.Format でデータ部分を置き換えて利用する
- C# コンソールアプリを AN HTTPD で実行
- C# : SQLServer( SQLExpress ) の SMO を使用してテーブルの CREATE TABLE 文 を取得する
- C# : DataGridView に TKMP.DLL の IMAP(POP3) で受信したメールを非同期に表示する( 添付ファイルも取得 )
- C# : TKMP.DLLを使った、メール送信テンプレート
- C# と VB.net : TKMP.DLL を使って IMAP でメール本文の一覧を取得する( コンソール )
- C# でDataTable と DataSource を使用して、DataGridView にデータを表示するテンプレート( 行をダブルクリックしてダイアログを表示して行データを処理 )
- (C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (4)