首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 操作 Excel 生成報表(三之五):完整圖表生成代碼總覽

     編輯:關於C語言

完整按鈕點擊事件代碼


private void BtnGenerate_Click(object sender, EventArgs e)
{
    Excel.Application app = null;
    Excel.Workbooks wbs = null;
    Excel._Workbook wb = null;
    Excel.Worksheet ws = null;

    try
    {
        app = new Excel.Application();
        wbs = app.Workbooks;
        wb = (Excel._Workbook)wbs.Add(Missing.Value);
        app.DisplayAlerts = false;

        DeleteExtraSheets();
        AddDataSheet();
        LoadData();
        CreateChart();

        wb.SaveAs(@"z:\Book2.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
    }
    catch (Exception ex) { MessageBox.Show(ex.Message); }
    finally
    {
        wb?.Close(Missing.Value, Missing.Value, Missing.Value);
        app?.Workbooks.Close();
        app?.Quit();
        Marshal.ReleaseComObject(wb);
        Marshal.ReleaseComObject(app);
        wb = null; app = null;
        GC.Collect(); GC.WaitForPendingFinalizers();
        Close();
    }
}

// 字段
Excel.Application ThisApplication;
Excel.Workbooks ThisWorkbooks;
Excel._Workbook ThisWorkbook;
Excel.Worksheet XlSheet;

輔助方法


// 刪除多餘 Sheet 與 Chart
void DeleteExtraSheets()
{
    foreach (Excel.Worksheet s in ThisWorkbook.Worksheets)
        if (s != ThisApplication.ActiveSheet) s.Delete();
    foreach (Excel.Chart c in ThisWorkbook.Charts) c.Delete();
}

// 添加數據 Sheet
void AddDataSheet()
{
    XlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.Add(Missing.Value, ThisWorkbook.ActiveSheet, Missing.Value, Missing.Value);
    XlSheet.Name = "數據";
}

// 生成隨機測試數據
void LoadData()
{
    Random r = new Random();
    for (int i = 1; i <= 12; i++)
    {
        XlSheet.Cells[i, 1] = i + "月";
        XlSheet.Cells[i, 2] = r.Next(2000).ToString();
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved