c#操作excel实现创建不同的工作表在每个工作表生成不一样的数据和图表的类型也要不一样然后将代码生成复制的文本
以下是示例代码,可以创建3个工作表,每个工作表生成不同的数据和图表类型,并将代码复制到剪贴板。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
namespace ExcelDemo
{
class Program
{
static void Main(string[] args)
{
//创建Excel对象
Excel.Application excel = new Excel.Application();
excel.Visible = true;
Excel.Workbook workbook = excel.Workbooks.Add();
Excel.Worksheet worksheet1 = (Excel.Worksheet)workbook.Worksheets.Add();
Excel.Worksheet worksheet2 = (Excel.Worksheet)workbook.Worksheets.Add();
Excel.Worksheet worksheet3 = (Excel.Worksheet)workbook.Worksheets.Add();
//在第一个工作表中生成数据和图表
worksheet1.Name = "数据表";
Excel.Range range1 = worksheet1.Range["A1", "B5"];
range1.Value = new object[,] { {"姓名", "成绩"},
{"张三", 80},
{"李四", 90},
{"王五", 70},
{"赵六", 85} };
Excel.ChartObjects chartObjects1 = (Excel.ChartObjects)worksheet1.ChartObjects();
Excel.ChartObject chartObject1 = chartObjects1.Add(50, 50, 300, 200);
Excel.Chart chart1 = chartObject1.Chart;
chart1.SetSourceData(range1);
chart1.ChartType = Excel.XlChartType.xlColumnClustered;
//在第二个工作表中生成数据和图表
worksheet2.Name = "饼图";
Excel.Range range2 = worksheet2.Range["A1", "B4"];
range2.Value = new object[,] { {"部门", "销售额"},
{"部门1", 500},
{"部门2", 800},
{"部门3", 600} };
Excel.ChartObjects chartObjects2 = (Excel.ChartObjects)worksheet2.ChartObjects();
Excel.ChartObject chartObject2 = chartObjects2.Add(50, 50, 300, 200);
Excel.Chart chart2 = chartObject2.Chart;
chart2.SetSourceData(range2);
chart2.ChartType = Excel.XlChartType.xlPie;
//在第三个工作表中生成数据和图表
worksheet3.Name = "折线图";
Excel.Range range3 = worksheet3.Range["A1", "C6"];
range3.Value = new object[,] { {"日期", "销售额", "利润"},
{"1月", 500, 100},
{"2月", 800, 200},
{"3月", 600, 120},
{"4月", 900, 180},
{"5月", 700, 140} };
Excel.ChartObjects chartObjects3 = (Excel.ChartObjects)worksheet3.ChartObjects();
Excel.ChartObject chartObject3 = chartObjects3.Add(50, 50, 300, 200);
Excel.Chart chart3 = chartObject3.Chart;
chart3.SetSourceData(range3);
chart3.ChartType = Excel.XlChartType.xlLine;
//复制代码到剪贴板
StringBuilder sb = new StringBuilder();
sb.AppendLine("/* 代码生成 */");
sb.AppendLine("Excel.Application excel = new Excel.Application();");
sb.AppendLine("excel.Visible = true;");
sb.AppendLine("Excel.Workbook workbook = excel.Workbooks.Add();");
sb.AppendLine("Excel.Worksheet worksheet1 = (Excel.Worksheet)workbook.Worksheets.Add();");
sb.AppendLine("Excel.Worksheet worksheet2 = (Excel.Worksheet)workbook.Worksheets.Add();");
sb.AppendLine("Excel.Worksheet worksheet3 = (Excel.Worksheet)workbook.Worksheets.Add();");
sb.AppendLine("//在第一个工作表中生成数据和图表");
sb.AppendLine("//...");
sb.AppendLine("//在第二个工作表中生成数据和图表");
sb.AppendLine("//...");
sb.AppendLine("//在第三个工作表中生成数据和图表");
sb.AppendLine("//...");
Clipboard.SetText(sb.ToString());
Console.WriteLine("代码已复制到剪贴板。");
Console.ReadKey();
}
}
}
``
原文地址: https://www.cveoy.top/t/topic/hiue 著作权归作者所有。请勿转载和采集!