在Excel中,某些单元格可能存在空值或者隐藏值。比如支出情况的图表,在某些月份是没有支出的,这时候对应的图表可能会造成不连续,中断的现象。还有些隐私的数据不想公开,就可以隐藏起来。
以下示例将详细讲述如何使用Spire.XLS来对隐藏和空单元格进行设置。
首先,准备一个图表数据含有隐藏行和空值的表格,如下图。其中我们把六月份的支出隐藏起来,相应的在图表中也被隐藏了。同时, 鼠标右键图表“选择数据”, 选择“隐藏的单元格和空单元格”可以看到是默认的空单元格显示设置为“空距”,默认不显示隐藏行列中的数据。
设置显示隐藏行列中的数据:
C#
//实例化Workbook对象
Workbook workbook = new Workbook();
//加载文档
workbook.LoadFromFile("测试文档.xlsx");
//获取第一个工作薄
Worksheet sheet = workbook.Worksheets[0];
//指定工作薄里面的第一个图表
Chart chart = sheet.Charts[0];
//设置“显示隐藏行列中的数据”,false表示显示,此选项会在excel中勾选上
chart.PlotVisibleOnly = false;
workbook.SaveToFile("结果文档.xlsx");
VB.NET
'实例化Workbook对象
Dim workbook As New Workbook()
'加载文档
workbook.LoadFromFile("测试文档.xlsx")
'获取第一个工作薄
Dim sheet As Worksheet = workbook.Worksheets(0)
'指定工作薄里面的第一个图表
Dim chart As Chart = sheet.Charts(0)
'设置“显示隐藏行列中的数据”,false表示显示,此选项会在excel中勾选上
chart.PlotVisibleOnly = False
workbook.SaveToFile("结果文档.xlsx")
效果如下图,隐藏的数据在图表中都显示出来了。
设置空单元格的显示方式:
C#
//实例化Workbook对象
Workbook workbook = new Workbook();
//加载文档
workbook.LoadFromFile("测试文档.xlsx");
//获取第一个工作薄
Worksheet sheet = workbook.Worksheets[0];
//指定工作薄里面的第一个图表
Chart chart = sheet.Charts[0];
//获取当前空单元格的显示方式
ChartPlotEmptyType cpep = chart.DisplayBlanksAs; // 获取出来是空距(默认是空距)
//设置空单元格的显示,是个枚举值
cpep = ChartPlotEmptyType.Zero;//零值
//cpep = ChartPlotEmptyType.Interpolated;//用直线连接数据点
workbook.SaveToFile("结果文档.xlsx");
VB.NET
'实例化Workbook对象
Dim workbook As New Workbook()
'加载文档
workbook.LoadFromFile("测试文档.xlsx")
'获取第一个工作薄
Dim sheet As Worksheet = workbook.Worksheets(0)
'指定工作薄里面的第一个图表
Dim chart As Chart = sheet.Charts(0)
'获取当前空单元格的显示方式
Dim cpep As ChartPlotEmptyType = chart.DisplayBlanksAs '获取出来是空距(默认是空距)
'设置空单元格的显示,是个枚举值
cpep = ChartPlotEmptyType.Zero'零值
'cpep = ChartPlotEmptyType.Interpolated; '用直线连接数据点
workbook.SaveToFile("结果文档.xlsx")
设置为零值的效果图
最后,值得注意的是,堆积类型的图表(比如堆积折线图)由于其特殊性,默认会把空单元格显示为零值,而且只能是零值, 其他的选项设置无效。