C#操作Word和Excel

更新时间:2023-10-24 09:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1 使用Visual C#操作Excel

1.1 环境说明

软件环境:

1) Microsoft Visual Studio 2005 2) Office Excel 2007 1.2 操作说明

1.2.1 增加Excel com组件

右键项目中的”引用”,选择”添加引用”,选择”COM”标签,找到以下控件。

1.2.2 Microsoft.Office.Interop.Excel

是一个命名空间,或者可以看做是一个工具包,里面包含了Excel操作相关的类和接口。具体说明可以参考microsoft的msdn,Microsoft.Office.Interop.Excel Namespace。 1.3 代码示例 1.3.1 写Excel文件

Microsoft.Office.Interop.Excel.ApplicationClass app =

new Microsoft.Office.Interop.Excel.ApplicationClass();

Microsoft.Office.Interop.Excel._Workbook workBook = null; Microsoft.Office.Interop.Excel._Worksheet workSheet = null; Microsoft.Office.Interop.Excel.Range rng = null; object missing = System.Reflection.Missing.Value; // 打开Excel文件

workBook = app.Workbooks.Open(“your_excelfile_path”, missing, missing, missing,

missing, missing, missing, missing, missing,

missing, missing, missing, missing, missing, missing);

app.Visible = true; // Excel应用程序可见

// 针对Excel文档中的第一个Sheet就行操作。Sheet的下标从1开始

workSheet = (Microsoft.Office.Interop.Excel._Worksheet)workBook.Sheets[1]; workSheet.Activate();

// Sheet[1]处于激活状态,即打开Excel看到的是Sheet[1]

// 使用Range指定单元格[row=2, colomn=9]

rng = (Microsoft.Office.Interop.Excel.Range)workSheet.Cells[2, 9] // 在单元格中写入字符串

rng.Value2 = \你想要填入的字符串\;

// 合并单元格操作。将单元格[6,2]和[7,2]合并,并写入字符串

rng = (Microsoft.Office.Interop.Excel.Range)workSheet.get_Range( workSheet.Cells[6, 2], workSheet.Cells[7, 2]); rng.Merge(0);

rng.Value2 = \你想要填入合并单元格的字符串\; // 如果你需要,还可以设置单元格居中显示

rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; // 保存并关闭Excel工作簿

workBook.Close(true, missing, missing);

// 退出Excel程序。如果不退出,可能出现,没有Excel文件打开,但是任务管理器中还有Excel进程 app.Quit();

1.3.2 读Excel文件

读Excel文件比写Excel文件要简单很多,在写Excel文件的代码中已经可以知道怎么读了

2 使用Visual C#操作Word

2.1 环境说明

软件环境:

1) Microsoft Visual Studio 2005 2) Office Word 2007

2.2 操作说明

2.2.1 增加Word com组件

右键项目中的”引用”,选择”添加引用”,选择”COM”标签,找到以下控件。

2.2.2 Microsoft.Office.Interop.Word

是一个命名空间,或者可以看做是一个工具包,里面包含了Word操作相关的类和接口。具体说明可以参考microsoft的msdn,Microsoft.Office.Interop.Word Namespace。 2.3 代码示例

2.3.1 读Word文件中的表格

Microsoft.Office.Interop.Word.ApplicationClass app =

new Microsoft.Office.Interop.Excel.ApplicationClass();

Microsoft.Office.Interop.Word.Document doc = null; object missing = System.Reflection.Missing.Value; object readOnly = false; object isVisible = true; object index = 0;

object filename = “your_docfile_path”; // 打开Word文件

doc = app.Documents.Open(ref filename, ref missing, ref readOnly,

ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing); // 遍历Word文件中的所有表格

for (int itable = 1; itable <= doc.Tables.Count; ++itable) {

Microsoft.Office.Interop.Word.Table table = doc.Tables[itable];

// 读取表格中单元格[1,1]的内容,需要去掉\\n,\\r,和尾部占两个字符位置的

字符。

string strTag = table.Cell(1, 1).Range.Text.ToString().Replace(\, \).Replace(\, \); strTag = strTag.Substring(0, strTag.Length - 2); }

doc.Close(ref missing, ref missing, ref missing);

// 退出Word程序。如果不退出,可能出现,没有Word文件打开,但是任务管理器中还有Word进程 app.Quit(ref missing, ref missing, ref missing);

本文来源:https://www.bwwdw.com/article/cjc2.html

Top