当前位置: 首页 > 工具软件 > Aspose.Cells > 使用案例 >

Aspose.Cells的基础用法

逄俊贤
2023-12-01

```csharp
      static void Main(string[] args)
        {
            //实列化一个excel对象
            Workbook workbook = new Workbook();
            //删除所有工作簿
            workbook.Worksheets.RemoveAt(0);
            //添加一个新的工作噗
            int index = workbook.Worksheets.Add();
            //修改新添加的工作簿的名称
            workbook.Worksheets[index].Name = "Sheet1";
            //获取新加工作簿的名称
            Cells cell = workbook.Worksheets[index].Cells;
            //给第一个单元格赋值(A1)
            cell[0, 0].PutValue("名称");
            //以下是填充数据为生成图表做准备
            cell[0, 1].PutValue("单价");
            cell[1, 0].PutValue("苹果");
            //想是数字类型就直接输入数字 不然生成图表有问题
            cell[1, 1].PutValue(20);
            cell[2, 0].PutValue("香蕉");
            cell[2, 1].PutValue(30);
            //调用生成二维柱状的方法
            test.TestColumnCharts(workbook);
            //调用生成二维饼图的方法
            test.TestPieCharts(workbook);
            cell[5, 0].PutValue("1");
            cell[6, 0].PutValue("2");
            //插入公式
            cell[7, 0].Formula="=A6+A7";
            //这也是一种获取单元格的方式  区别暂时不理解
            var ss = workbook.Worksheets[index].Cells[CellsHelper.CellIndexToName(8,0)];
            //添加值
            ss.PutValue("帅");
            //合并单元格 表示第1行 第3列(这就找到了一个单元格) 合并单元格开始的第1行(单元格就要算一行)第5列 (这就定义了一个范围)
            cell.Merge(0,2,1,5);
            //单元格自适应宽度
            workbook.Worksheets[index].AutoFitColumns();
            //获取单元格的名称
            string value = cell[0, 0].StringValue;
            //保存的路径
            string file = "C:\\Users\\new\\Desktop\\" + "test.xlsx";
            //保存上面的修改
            workbook.Save(file);
            //打开文件(测试看效果方便)
            System.Diagnostics.Process.Start("explorer.exe", file);
        }
        public static void TestColumnCharts(Workbook workbook)
        {
            //实列化一个图表类型
            var charts = workbook.Worksheets[0].Charts;
            //添加图表  图片类型 左上角开始的开始坐标到右下脚结束的坐标 (D4-O27)
            var index = charts.Add(ChartType.Column, 3, 3, 27, 15);
            //选取图表的数据区域
            var chartRange = $"{CellsHelper.CellIndexToName(1, 1)}:{CellsHelper.CellIndexToName(2, 1)}";
            //选取图表的数据区域
            charts[index].NSeries.Add(chartRange, true);
            //展示的每个列的说明标签
            charts[index].NSeries.CategoryData = $"{CellsHelper.CellIndexToName(1, 0)}:{CellsHelper.CellIndexToName(2, 0)}";
            for (int i = 0; i < charts[index].NSeries.Count; i++)
            {
                //设置这个图的名称
                charts[index].NSeries[i].Name = $"={CellsHelper.CellIndexToName(0, i + 1)}";
                //是否显示数据标签
                charts[index].NSeries[i].DataLabels.ShowValue = true;
                //数据标签的对其方式
                charts[index].NSeries[i].DataLabels.Position = LabelPositionType.OutsideEnd;
            }
        }

        public static void TestPieCharts(Workbook workbook)
        {
            //实列化一个图表类型
            var charts = workbook.Worksheets[0].Charts;
            //添加图表  图片类型 左上角开始的开始坐标到右下脚结束的坐标 (D4-O27)
            var index = charts.Add(ChartType.Pie, 3, 3, 27, 15);
            //选取图表的数据区域
            var chartRange = $"{CellsHelper.CellIndexToName(1, 1)}:{CellsHelper.CellIndexToName(2, 1)}";
            //选取图表的数据区域
            charts[index].NSeries.Add(chartRange, true);
            //展示的每个列的说明标签
            charts[index].NSeries.CategoryData = $"{CellsHelper.CellIndexToName(1, 0)}:{CellsHelper.CellIndexToName(2, 0)}";
            for (int i = 0; i < charts[index].NSeries.Count; i++)
            {
                //是否显示数据标签
                charts[index].NSeries[i].DataLabels.ShowValue = true;
                //数据标签的对其方式
                charts[index].NSeries[i].DataLabels.Position = LabelPositionType.OutsideEnd;
            }
        }


 类似资料: