java操作word中的excel(对应的是图表,如柱状图) 20
用Java实现如下业务:业务是这样的,业务需要生成一个word文件,其中需要包含图表(如柱状图,饼图),生成成功后再次开该文件的图表是可以对其进行修改的·所以在生成的时候...
用Java实现如下业务:业务是这样的,业务需要生成一个word文件,其中需要包含图表(如柱状图,饼图),生成成功后再次开该文件的图表是可以对其进行修改的·所以在生成的时候像图表是不能用图片代替的。急需帮忙·······
展开
展开全部
我.net中也遇到了相同的问题:你可以先看一下下面代码,应该大部分你能用到,只是chart属性可能有点问题,之前尝试成功过,但是由于我不小心删除了一些系统文件里的内容,就有些运行不起来了
我是先循环的word中的shape
foreach (Microsoft.Office.Interop.Word.Shape shape in docFile.Shapes)
{
if(shape.Name=="Chart_图表")
{
shape.Chart.ChartData.Activate();
Microsoft.Office.Interop.Excel.Workbook wb = (Microsoft.Office.Interop.Excel.Workbook)shape.Chart.ChartData.Workbook;
Microsoft.Office.Interop.Excel.Worksheet wSh = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
//然后添加新数据
for (int r = 0; r < tempdt.Rows.Count; r++)
{
for (int k = 0; k < tempdt.Columns.Count; k++)
{
Microsoft.Office.Interop.Excel.Range Rng1 = wSh.Cells[r + 2, k + 1] as Microsoft.Office.Interop.Excel.Range;
Rng1.Value = tempdt.Rows[r][k];
}
}
wb.Application.ScreenUpdating = true;
wb.Close(Type.Missing, Type.Missing, Type.Missing);
chart.Refresh();
shape.Chart.Refresh();
}
}
我是先循环的word中的shape
foreach (Microsoft.Office.Interop.Word.Shape shape in docFile.Shapes)
{
if(shape.Name=="Chart_图表")
{
shape.Chart.ChartData.Activate();
Microsoft.Office.Interop.Excel.Workbook wb = (Microsoft.Office.Interop.Excel.Workbook)shape.Chart.ChartData.Workbook;
Microsoft.Office.Interop.Excel.Worksheet wSh = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
//然后添加新数据
for (int r = 0; r < tempdt.Rows.Count; r++)
{
for (int k = 0; k < tempdt.Columns.Count; k++)
{
Microsoft.Office.Interop.Excel.Range Rng1 = wSh.Cells[r + 2, k + 1] as Microsoft.Office.Interop.Excel.Range;
Rng1.Value = tempdt.Rows[r][k];
}
}
wb.Application.ScreenUpdating = true;
wb.Close(Type.Missing, Type.Missing, Type.Missing);
chart.Refresh();
shape.Chart.Refresh();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询