EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

使用 VBReport8 生成與操作 Excel 文件的示例代碼

前置條件

在運行此代碼之前,您需要確保滿足以下前置條件:

  1. 引用命名空間

    • 確保您的項目已經引用了 AdvanceSoftware.VBReport8 命名空間,用於處理 Excel 文件的生成和操作。
using AdvanceSoftware.VBReport8;
  1. 安裝並配置 VBReport8 庫

    • 您的開發環境必須正確安裝並配置 VBReport8 庫。該庫可能需要通過 NuGet 或其他方式引入到您的項目中。
  2. 模板文件準備

    • 確保您已經準備好一個有效的 Excel 模板文件(例如 template.xlsx),並將其存放在代碼指定的路徑中。
  3. 確保目標路徑可寫

    • 確保程序可以寫入生成的 Excel 文件到指定的目標路徑(如 D:\output.xlsx)。請確認此路徑的寫入權限。

這些前置條件對於成功運行和生成 Excel 文件至關重要,請在運行代碼之前檢查並確認配置完整。

 

示例(生成EXCEL文件):

private void button1_Click(object sender, EventArgs e)
{
    string templateFileName = @"D:\template.xlsx";  // 模板文件路徑
    string outputFileName = @"D:\output.xlsx";      // 輸出文件路徑

    // 創建CellReport對象
    CellReport cellReport = new CellReport();

    // 加載模板文件
    cellReport.FileName = templateFileName;

    // 開始報告 - 確保模板已加載
    cellReport.Report.Start();
    cellReport.Report.File();

    // 開始新的一個工作表,並命名為 "Sheet1"
    cellReport.Page.Start("Sheet1", "1");

    // 操作單元格 - 設置單元格的值
    cellReport.Pos(0, 0).Str = "Hello";  // 設置A1單元格的值為"Hello"
    cellReport.Pos(1, 0).Str = "World";  // 設置B1單元格的值為"World"
    cellReport.Pos(0, 1).Value = 123;    // 設置A2單元格的值為數字123
    cellReport.Pos(1, 1).Value = 456.78; // 設置B2單元格的值為數字456.78

    // 結束當前工作表
    cellReport.Page.End();
    
    // 結束報告
    cellReport.Report.End();
    
    // 保存文件,指定Excel版本為2007格式
    cellReport.Report.SaveAs(outputFileName, ExcelVersion.ver2007);
    
    // 釋放資源
    cellReport.Dispose();

    // 檢查文件是否成功生成
    if (System.IO.File.Exists(outputFileName))
    {
        MessageBox.Show("文件生成成功!文件路徑:" + outputFileName);
    }
    else
    {
        MessageBox.Show("文件生成失敗!");
    }
}

 

示例代碼(設置單元格背景為紅色):

private void button1_Click(object sender, EventArgs e)
{
    string templateFileName = @"D:\template.xlsx";  // 模板文件路徑
    string outputFileName = @"D:\output.xlsx";      // 輸出文件路徑

    // 創建CellReport對象
    CellReport cellReport = new CellReport();

    // 加載模板文件
    cellReport.FileName = templateFileName;

    // 開始報告 - 確保模板已加載
    cellReport.Report.Start();
    cellReport.Report.File();

    // 開始新的一個工作表,並命名為 "Sheet1"
    cellReport.Page.Start("Sheet1", "1");

    // 設置單元格數據
    cellReport.Pos(0, 0).Str = "Hello";  // 設置A1單元格的值為"Hello"
    cellReport.Pos(1, 0).Str = "World";  // 設置B1單元格的值為"World"
    cellReport.Pos(0, 1).Value = 123;    // 設置A2單元格的值為數字123
    cellReport.Pos(1, 1).Value = 456.78; // 設置B2單元格的值為數字456.78

    // 設置A1單元格背景顏色為紅色
    cellReport.Pos(0, 0).Attr.BackColor2 = xlColor.Red;
    
    // 設置A2單元格背景顏色為紅色
    cellReport.Pos(0, 1).Attr.BackColor2 = xlColor.Red;

    // 結束當前工作表
    cellReport.Page.End();
    
    // 結束報告
    cellReport.Report.End();
    
    // 保存文件,指定Excel版本為2007格式
    cellReport.Report.SaveAs(outputFileName, ExcelVersion.ver2007);
    
    // 釋放資源
    cellReport.Dispose();

    // 檢查文件是否成功生成
    if (System.IO.File.Exists(outputFileName))
    {
        MessageBox.Show("文件生成成功!文件路徑:" + outputFileName);
    }
    else
    {
        MessageBox.Show("文件生成失敗!");
    }
}

總結:

  • Attr.BackColor 是一種更常見、簡單的背景色設置方式,適用於一般情況。
  • Attr.BackColor2 可能是針對更高級的 Excel 顏色處理需求設計的,並使用了 Excel 特定的 xlColor 顏色定義。

如果你的需求是單純的背景顏色設置,那麼使用 Attr.BackColor 會更簡潔;如果有更高級的顏色設置需求,可能會需要使用 Attr.BackColor2

 

製品情報:https://www.adv.co.jp/product/product_vb-report8_feature1.htm

This article was last edited at 2024-09-13 13:32:07

* *