一, 如何保存文本为Word文件
要在.net中操作Word,就需要在项目中引用Word的对象库文件MSWORD.OLB,这可以在office安装目录下找到(C:"Program Files"Microsoft Office"OFFICE11"MSWORD.OLB),把它引入项目中就可以使用Word对象的各种方法来实现Word软件的功能了。
核心代码如下:
二,如何保存为Excel文件 要在.net中操作Excel,就需要在项目中引用EXCEL.EXE这可以在office安装目录下找到(C:"Program Files"Microsoft Office"OFFICE11"EXCEL.EXE) Excel对象使用最多的是下面4个: Application对象,处于Excel对象层次结构的顶层,表示 Excel自身的运行环境。 Workbook对象,直接处于Application的下层,表示一个Excel工作簿文件 Worksheet对象,包含在Workbook对象中,表示一个Excel工作表 Range对象,包含在Worksheet中,表示Excel工作表中的一个或多个单元格 核心代码如下:
{//保存为Excel文件
if(this.listView1.Items.Count<1)
return;
try
{
Microsoft.Office.Interop.Excel.ApplicationClass myExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
myExcel.Visible = true;
if(myExcel==null)
{
MessageBox.Show("Excel无法启动!!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
Microsoft.Office.Interop.Excel.Workbooks myWorkBooks = myExcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook myWorkBook = myWorkBooks.Add(System.Reflection.Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet myWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)myWorkBook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range myRange = myWorkSheet.get_Range("A1","C1");
object[] myHeader = {"姓名","专业","毕业院校"};
myRange.Value2 = myHeader;
if(this.listView1.Items.Count>0)
{
myRange = myWorkSheet.get_Range("A2",System.Reflection.Missing.Value);
object[,] MyData = new object[this.listView1.Items.Count,3];
foreach(ListViewItem lvi in this.listView1.Items)
{
MyData[lvi.Index,0] = lvi.Text;
MyData[lvi.Index,1] = lvi.SubItems[1].Text;
MyData[lvi.Index,2] = lvi.SubItems[2].Text;
}
myRange = myRange.get_Resize(this.listView1.Items.Count,3);
myRange.Value2 = MyData;
myRange.EntireColumn.AutoFit();
}
myExcel = null;
}
catch(System.Exception ex)
{
MessageBox.Show(this,ex.Message.ToString(),"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}