c#调用office组件示例
2010-06-12 15:27
309 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excels = Microsoft.Office.Interop.Excel;
using Words = Microsoft.Office.Interop.Word;
using System.Reflection;
using System.Diagnostics;
namespace Excel
{
class Program
{
//设置一个静态对象,想要引入System.Reflection空间
static object _misvalue=Missing.Value;
static void Main(string[] args)
{
//调用生成图表方法参数为TRUE
GenerateChart(copytoword:true);
}
/// <summary>
/// 生成图表对象
/// </summary>
/// <param name="copytoword">是否拷贝对象到WORD</param>
private static void GenerateChart(bool copytoword=false)
{
//打开一个EXCEL对象,设置不显示,并且添加工作表
var excel=new Excels.Application();
excel.Visible=false;
excel.Workbooks.Add();
//获取EXCEL单元格并且赋值
excel.get_Range("A1").Value2="PROCESS NAME";
excel.get_Range("B1").Value2="PROCESS MEMORY";
//获取内存使用排名前10的进程
var processes =Process.GetProcesses().OrderByDescending(p=>p.WorkingSet64).Take(10);
//把获取的信息写入到EXCEL表格
int i = 2;
foreach (var item in processes)
{
excel.get_Range("A" + i).Value2 = item.ProcessName;
excel.get_Range("B" + i).Value2 = item.WorkingSet64;
i++;
}
//选取A1单元格内容
Excels.Range range = excel.get_Range("A1");
//生成一个图表,选择的区域是之前生成数据SHEET的区域
Excels.Chart chart = (Excels.Chart)excel.ActiveWorkbook.Charts.Add(After:excel.ActiveSheet);
//指定图表区域和标题
chart.ChartWizard(Source: range.CurrentRegion, Title: "memory usage" + Environment.MachineName);
//图表的样式和坐标
chart.ChartStyle = 45;
chart.CopyPicture(Excels.XlPictureAppearance.xlScreen, Excels.XlCopyPictureFormat.xlBitmap, Excels.XlPictureAppearance.xlScreen);
if (copytoword)
{
//创建一个WORD对象
var word = new Words.Application();
word.Visible = true;
word.Documents.Add();
word.Selection.Paste();
word.Documents.Save();
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excels = Microsoft.Office.Interop.Excel;
using Words = Microsoft.Office.Interop.Word;
using System.Reflection;
using System.Diagnostics;
namespace Excel
{
class Program
{
//设置一个静态对象,想要引入System.Reflection空间
static object _misvalue=Missing.Value;
static void Main(string[] args)
{
//调用生成图表方法参数为TRUE
GenerateChart(copytoword:true);
}
/// <summary>
/// 生成图表对象
/// </summary>
/// <param name="copytoword">是否拷贝对象到WORD</param>
private static void GenerateChart(bool copytoword=false)
{
//打开一个EXCEL对象,设置不显示,并且添加工作表
var excel=new Excels.Application();
excel.Visible=false;
excel.Workbooks.Add();
//获取EXCEL单元格并且赋值
excel.get_Range("A1").Value2="PROCESS NAME";
excel.get_Range("B1").Value2="PROCESS MEMORY";
//获取内存使用排名前10的进程
var processes =Process.GetProcesses().OrderByDescending(p=>p.WorkingSet64).Take(10);
//把获取的信息写入到EXCEL表格
int i = 2;
foreach (var item in processes)
{
excel.get_Range("A" + i).Value2 = item.ProcessName;
excel.get_Range("B" + i).Value2 = item.WorkingSet64;
i++;
}
//选取A1单元格内容
Excels.Range range = excel.get_Range("A1");
//生成一个图表,选择的区域是之前生成数据SHEET的区域
Excels.Chart chart = (Excels.Chart)excel.ActiveWorkbook.Charts.Add(After:excel.ActiveSheet);
//指定图表区域和标题
chart.ChartWizard(Source: range.CurrentRegion, Title: "memory usage" + Environment.MachineName);
//图表的样式和坐标
chart.ChartStyle = 45;
chart.CopyPicture(Excels.XlPictureAppearance.xlScreen, Excels.XlCopyPictureFormat.xlBitmap, Excels.XlPictureAppearance.xlScreen);
if (copytoword)
{
//创建一个WORD对象
var word = new Words.Application();
word.Visible = true;
word.Documents.Add();
word.Selection.Paste();
word.Documents.Save();
}
}
}
}
相关文章推荐
- C#在调用office的PowerPoint时出现 对 COM 组件的调用返回了错误 HRESULT E_FAIL。解决办法。
- windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)
- windows 2008 下C#调用office组件访问拒绝的解决方法(failed du
- windows 2008 下C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)
- C#调用EasyPusher推送到EasyDarwin流媒体服务器直播方案及示例代码整理
- COM 打通 C++ 和 C# 关于 COM 组件互相调用的任督二脉 (转)
- VS.Net C# 调用 Active 组件
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- C#调用winmm.dll来放音乐的示例[转载]
- .net调用office组件的疑难问题
- C#访问及调用类中私有成员与方法示例代码
- 用C#操作office组件库实现word文档的创建及文字 表格 图片的插入
- C#用OFFICE组件时,提示80040154错误
- 使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)
- .Net调用Office Com组件的原理及问题:检索com类工厂组件检索 COM 类工厂中 CLSID 为 {XXX} 的组件失败
- c#调用vc写的ocx控件示例
- Office 2000调用.net com组件
- c# 调用com组件
- Office 开发系列:ASP.Net调用Excel组件错误的问题解决