asp.net(vb) 如何更换EXCEL图表中的数据源

来源:百度知道 编辑:UC知道 时间:2024/09/18 06:17:00
我想采用代码更换EXCEL图表中的数据源
更换原则是先获取原来的数据源字符串
经过一番加工后,把加工好的数据源换掉
但是遗憾的是
VBA中有相关的语句
而调用EXCEL开发包则没有
我采用的环境是
ASP.NET(c#),采用的OFFICE是2000
---------------
我现在都愁死了
恳求大哥大姐帮忙
如何在.NET中更换某一个EXCEL文件的某个SHEET页的某个图表的数据源
-------------------------------------
我要解决的问题为:
动态生成EXCEL文件
因为该EXCEL文件是从其他多个EXCEL文件中拷贝过来的,如果其他的文件中包含有图表
则把图表需要到的数据页也拷贝过来
可惜就是没有办法把数据源换掉
-------------------------------------
谢谢各位了

如果是excel做好的模板,就是说如果有数据,也有对数据的图表,那只要更改了数据,则图表自动更改。

如果重新建立的,可以先在指定的单元格里填充数据,然后创建图表,再指定图表的数据对应的单元格。

我只做过模板的,获得一个工作表的一个图表对象可用如下代码,再深入就没试过了。

Excel.Application e_app = null;
Excel._Workbook e_book = null;
Excel._Worksheet e_sheet = null;
Excel.ChartObject e_chartobj = null;//页 插入对象
object e_obj = System.Reflection.Missing.Value;

e_app = new Application();
e_book = e_app.Workbooks.Open(Server.MapPath("模板.xls"), e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj, e_obj);

// e_sheets = e_book.Worksheets;
// e_charts = e_app.Charts;
e_sheet = (Excel._Worksheet)e_book.Worksheets.get_Item("工作表名称");

//删除除此表外的其他表
e_app.DisplayAlerts = false;
foreach (Excel._Worksheet ws in e_book.Worksheets)
if (ws.Name !=“工作表名称”