```csharp
static void Main(string[] args)
{
Workbook workbook = new Workbook();
workbook.Worksheets.RemoveAt(0);
int index = workbook.Worksheets.Add();
workbook.Worksheets[index].Name = "Sheet1";
Cells cell = workbook.Worksheets[index].Cells;
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("帅");
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;
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;
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;
}
}