Tab 1
此 Demo 展示如何创建 Excel 图表。
如果这不是您想要的 Demo,您可以通过填写表格获取免费定制 Demo。
如您有与我们产品相关的其他技术问题,请联系 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。;销售相关的问题,请联系 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。。
Tab 2
using System.Data;
using Spire.Xls;
namespace DemoOnlineCode
{
class Charts
{
public void demoChart(DataTable table, ExcelChartType chartFormat, string resultFileName)
{
Workbook book = new Workbook();
Worksheet sheet = book.Worksheets[0];
sheet.InsertDataTable(table, true, 1, 1);
SetChart(sheet, chartFormat);
sheetStyle(book, sheet);
book.SaveToFile(resultFileName,ExcelVersion.Version2010);
}
private void SetChart(Worksheet sheet, ExcelChartType chartFormat)
{
sheet.Name = "Chart data";
sheet.GridLinesVisible = false;
//Writes chart data
//CreateChartData(sheet);
//Add a new chart worsheet to workbook
Chart chart = sheet.Charts.Add();
//Set region of chart data
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
//Set position of chart
chart.LeftColumn = 1;
chart.TopRow = 8;
chart.RightColumn = 11;
chart.BottomRow = 29;
chart.ChartType = chartFormat;
//Chart title
chart.ChartTitle = "Sales market by country";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
chart.PrimaryCategoryAxis.Title = "Country";
chart.PrimaryCategoryAxis.Font.IsBold = true;
chart.PrimaryCategoryAxis.TitleArea.IsBold = true;
chart.PrimaryValueAxis.Title = "Sales(in Dollars)";
chart.PrimaryValueAxis.HasMajorGridLines = false;
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
chart.PrimaryValueAxis.MinValue = 1000;
chart.PrimaryValueAxis.TitleArea.IsBold = true;
foreach (Spire.Xls.Charts.ChartSerie cs in chart.Series)
{
cs.Format.Options.IsVaryColor = true;
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
}
chart.Legend.Position = LegendPositionType.Top;
}
public static void sheetStyle(Workbook book, Worksheet sheet)
{
CellStyle oddStyle = book.Styles.Add("oddStyle");
oddStyle.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
oddStyle.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;
oddStyle.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
oddStyle.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
oddStyle.KnownColor = ExcelColors.LightGreen1;
CellStyle evenStyle = book.Styles.Add("evenStyle");
evenStyle.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
evenStyle.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;
evenStyle.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
evenStyle.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
evenStyle.KnownColor = ExcelColors.LightTurquoise;
foreach (CellRange range in sheet.AllocatedRange.Rows)
{
if (range.Row % 2 == 0)
range.CellStyleName = evenStyle.Name;
else
range.CellStyleName = oddStyle.Name;
}
//Sets header style
CellStyle styleHeader = sheet.Rows[0].Style;
styleHeader.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
styleHeader.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;
styleHeader.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
styleHeader.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
styleHeader.VerticalAlignment = VerticalAlignType.Center;
styleHeader.KnownColor = ExcelColors.Green;
styleHeader.Font.KnownColor = ExcelColors.White;
styleHeader.Font.IsBold = true;
sheet.Columns[sheet.AllocatedRange.LastColumn - 1].Style.NumberFormat = "\"$\"#,##0";
sheet.Columns[sheet.AllocatedRange.LastColumn - 2].Style.NumberFormat = "\"$\"#,##0";
sheet.AllocatedRange.AutoFitColumns();
sheet.AllocatedRange.AutoFitRows();
sheet.Rows[0].RowHeight = 20;
}
}
}
Tab 3
Imports System.Data
Imports Spire.XLS
Namespace DemoOnlineCode
Class Charts
Public Sub demoChart(table As DataTable, chartFormat As ExcelChartType, resultFileName As String)
Dim book As New Workbook()
Dim sheet As Worksheet = book.Worksheets(0)
sheet.InsertDataTable(table, True, 1, 1)
SetChart(sheet, chartFormat)
sheetStyle(book, sheet)
book.SaveToFile(resultFileName, ExcelVersion.Version2010)
End Sub
Private Sub SetChart(sheet As Worksheet, chartFormat As ExcelChartType)
sheet.Name = "Chart data"
sheet.GridLinesVisible = False
'Writes chart data
'CreateChartData(sheet);
'Add a new chart worsheet to workbook
Dim chart As Chart = sheet.Charts.Add()
'Set region of chart data
chart.DataRange = sheet.Range("A1:C7")
chart.SeriesDataFromRange = False
'Set position of chart
chart.LeftColumn = 1
chart.TopRow = 8
chart.RightColumn = 11
chart.BottomRow = 29
chart.ChartType = chartFormat
'Chart title
chart.ChartTitle = "Sales market by country"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12
chart.PrimaryCategoryAxis.Title = "Country"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "Sales(in Dollars)"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True
For Each cs As Spire.Xls.Charts.ChartSerie In chart.Series
cs.Format.Options.IsVaryColor = True
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
Next
chart.Legend.Position = LegendPositionType.Top
End Sub
Public Shared Sub sheetStyle(book As Workbook, sheet As Worksheet)
Dim oddStyle As CellStyle = book.Styles.Add("oddStyle")
oddStyle.Borders(BordersLineType.EdgeLeft).LineStyle = LineStyleType.Thin
oddStyle.Borders(BordersLineType.EdgeRight).LineStyle = LineStyleType.Thin
oddStyle.Borders(BordersLineType.EdgeTop).LineStyle = LineStyleType.Thin
oddStyle.Borders(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thin
oddStyle.KnownColor = ExcelColors.LightGreen1
Dim evenStyle As CellStyle = book.Styles.Add("evenStyle")
evenStyle.Borders(BordersLineType.EdgeLeft).LineStyle = LineStyleType.Thin
evenStyle.Borders(BordersLineType.EdgeRight).LineStyle = LineStyleType.Thin
evenStyle.Borders(BordersLineType.EdgeTop).LineStyle = LineStyleType.Thin
evenStyle.Borders(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thin
evenStyle.KnownColor = ExcelColors.LightTurquoise
For Each range As CellRange In sheet.AllocatedRange.Rows
If range.Row Mod 2 = 0 Then
range.CellStyleName = evenStyle.Name
Else
range.CellStyleName = oddStyle.Name
End If
Next
'Sets header style
Dim styleHeader As CellStyle = sheet.Rows(0).Style
styleHeader.Borders(BordersLineType.EdgeLeft).LineStyle = LineStyleType.Thin
styleHeader.Borders(BordersLineType.EdgeRight).LineStyle = LineStyleType.Thin
styleHeader.Borders(BordersLineType.EdgeTop).LineStyle = LineStyleType.Thin
styleHeader.Borders(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thin
styleHeader.VerticalAlignment = VerticalAlignType.Center
styleHeader.KnownColor = ExcelColors.Green
styleHeader.Font.KnownColor = ExcelColors.White
styleHeader.Font.IsBold = True
sheet.Columns(sheet.AllocatedRange.LastColumn - 1).Style.NumberFormat = """$""#,##0"
sheet.Columns(sheet.AllocatedRange.LastColumn - 2).Style.NumberFormat = """$""#,##0"
sheet.AllocatedRange.AutoFitColumns()
sheet.AllocatedRange.AutoFitRows()
sheet.Rows(0).RowHeight = 20
End Sub
End Class
End Namespace