4,819
社区成员




private void CreateExsel_Click(object sender, EventArgs e)
{
if (File.Exists("D:\\Personal\\Desktop\\TestLine.xlsx"))
{
File.Delete("D:\\Personal\\Desktop\\TestLine.xlsx");
}
//创建1个工作簿,相当于1个Excel文件
//Excel的文档结构是 Workbook->Worksheet(1个book可以包含多个sheet)
Workbook workbook = new Workbook();
//获取第一个sheet,进行操作,下标是从0开始
Worksheet sheet = workbook.Worksheets[0];
//string str = sheet.Cells[1].Text;
//也可以自己添加1个命名的Worksheet到book中
// workbook.Worksheets.Add("测试sheet");
//横向合并A1到G1的单元格
//sheet.Range["A1:B1"].Merge();
//向A1单元格写入文字,第一列的列名
//sheet.Range["A1"].Value = "线条1上点坐标";
//sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center;//文本居中
//sheet.Range["A1"].Style.Font.IsBold = true;//字体加粗
//sheet.Range["A2"].Value = "X";
//sheet.Range["A3"].NumberValue = 20;
//sheet.Range["A4"].NumberValue = 30;
//sheet.Range["A5"].NumberValue = 50;
//sheet.Range["A6"].NumberValue = 80;
sheet.Range["A1"].Value = "点";
sheet.Range["A2"].Value = "点1";
sheet.Range["A3"].Value = "点2";
sheet.Range["A4"].Value = "点3";
//向B1单元格写入文字,第2列的列名
sheet.Range["B1"].Value = "X";
sheet.Range["B2"].NumberValue = 20;
sheet.Range["B3"].NumberValue = 50;
sheet.Range["B4"].NumberValue = 80;
//sheet.Range["B2"].Value = "Y";
//sheet.Range["B3"].NumberValue = 43;
//sheet.Range["B4"].NumberValue = 57;
//sheet.Range["B5"].NumberValue = 89;
//sheet.Range["B6"].NumberValue = 15;
//向C1单元格写入文字,第3列的列名
sheet.Range["C1"].Value = "Y";
sheet.Range["C2"].NumberValue = 20;
sheet.Range["C3"].NumberValue = 50;
sheet.Range["C4"].NumberValue = 80;
//sheet.Range["C2"].NumberValue = 30;
//sheet.Range["C3"].NumberValue = 50;
//sheet.Range["C4"].NumberValue = 20;
//sheet.Range["C5"].NumberValue = 90;
//sheet.Range["C6"].NumberValue = 55;
////向D1单元格写入文字,第4列的列名
//sheet.Range["D1"].Value = "X2";
//sheet.Range["D2"].NumberValue = 55;
////向E1单元格写入文字,第5列的列名
//sheet.Range["E1"].Value = "Y2";
//sheet.Range["E2"].NumberValue = 55;
//创建散点曲线图
Chart chart = sheet.Charts.Add();
//chart.ChartType = ExcelChartType.ScatterSmoothedLineMarkers;
chart.ChartType = ExcelChartType.Line;
//设置图表的数据范围
chart.DataRange = sheet.Range["A1:C4"];
//设置图表的保存位置
chart.LeftColumn = 1;
chart.TopRow = 6;
chart.RightColumn = 7;
chart.BottomRow = 22;
//chart.Legend.Position = LegendPositionType.Right;
//图表标题
chart.ChartTitle = "折线图例子";
//设置字体加粗和大小
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
////设置横坐标的标题
//chart.PrimaryValueAxis.Title = "X轴";
////chart.PrimaryValueAxis.Font.IsBold = true;
////chart.PrimaryValueAxis.TitleArea.IsBold = true;
//chart.PrimaryValueAxis.MinValue = 0;
//chart.PrimaryValueAxis.MaxValue = 100;
//chart.PrimaryValueAxis.HasMajorGridLines = false;
////设置纵坐标
//chart.PrimaryValueAxis.Title = "Y轴";
//chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
//chart.PrimaryValueAxis.MinValue = 0;//坐标起始最小值
//chart.PrimaryValueAxis.MaxValue = 100;//坐标起始最小值
//chart.PrimaryValueAxis.TitleArea.IsBold = true;
//chart.PrimaryValueAxis.HasMajorGridLines = false;
foreach (Spire.Xls.Charts.ChartSerie cs in chart.Series)
{
cs.Format.Options.IsVaryColor = true;
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
chart.PlotArea.Fill.Visible = false;
}
//将Excel文件保存到指定文件,还可以指定Excel版本
workbook.SaveToFile("D:\\Personal\\Desktop\\TestLine.xlsx", ExcelVersion.Version2007);
MessageBox.Show("创建成功!");
System.Diagnostics.Process.Start("D:\\Personal\\Desktop\\TestLine.xlsx");
}