在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")
设置为零值的效果图
最后,值得注意的是,堆积类型的图表(比如堆积折线图)由于其特殊性,默认会把空单元格显示为零值,而且只能是零值, 其他的选项设置无效。