/// <summary> /// 把数据导入到.doc文件 /// </summary> /// <param name="ds"></param> public void ExportToWord(DataSet ds) { if(ds.Tables.Count!=0) { string tempFileName = null; object filename = null; object tableBehavior = Word.WdDefaultTableBehavior.wdWord9TableBehavior; object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitFixed;
object unit = Word.WdUnits.wdStory; object extend = System.Reflection.Missing.Value; object breakType = (int)Word.WdBreakType.wdSectionBreakNextPage; object count = 1; object character = Word.WdUnits.wdCharacter; object Nothing = System.Reflection.Missing.Value; try { tempFileName = GetTempFileName(); //生成.doc文件完整路径名 filename = DATAWORDPATH+tempFileName+WORDPOSTFIX; //创建一个word文件,文件名用系统时间生成精确到毫秒 Word.Application myWord= new Word.ApplicationClass(); Word._Document myDoc = new Word.DocumentClass(); myDoc = myWord.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing); myDoc.Activate(); //向把dataset中的表插入到word的文件中 for(int totalTable = 0;totalTable<ds.Tables.Count;totalTable++) { myWord.Application.Selection.TypeText(ds.Tables[totalTable].TableName+"表的数据如下"); myWord.Application.Selection.TypeParagraph(); myWord.Application.Selection.TypeParagraph(); Word.Range para = myWord.Application.Selection.Range; myDoc.Tables.Add(para,ds.Tables[totalTable].Rows.Count+1,ds.Tables[totalTable].Columns.Count,ref tableBehavior,ref autoFitBehavior); for(int column = 0; column<ds.Tables[totalTable].Columns.Count;column++) { myDoc.Tables.Item(totalTable+1).Cell(1,column+1).Range.InsertBefore(ds.Tables[0].Columns[column].ColumnName.Trim()); } for(int row = 0;row<ds.Tables[totalTable].Rows.Count;row++) { for(int column = 0;column<ds.Tables[totalTable].Columns.Count;column++) { myDoc.Tables.Item(totalTable+1).Cell(row+2,column+1).Range.InsertBefore(ds.Tables[totalTable].Rows[row][column].ToString().Trim()); } } myWord.Application.Selection.EndKey(ref unit,ref extend); myWord.Application.Selection.TypeParagraph(); myWord.Application.Selection.TypeParagraph(); myWord.Application.Selection.InsertBreak(ref breakType); } myWord.Application.Selection.TypeBackspace(); myWord.Application.Selection.Delete(ref character,ref count); myWord.Application.Selection.HomeKey(ref unit,ref extend); //保存word文件到指定的目录下 try { myDoc.SaveAs(ref filename,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing); myWord.Visible = true; } catch { System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件: "+DATAWORDPATH+tempFileName+WORDPOSTFIX); return; } //让生成的excel文件可见 myWord.Visible = true; } catch(Exception ex) { System.Windows.Forms.MessageBox.Show("向word文件中写入数据出错: " + ex.Message); } } else { System.Windows.Forms.MessageBox.Show("No Data"); } } /// <summary> /// 把图片文件导入到.doc文件 /// </summary> /// <param name="bp"></param> public void ExportToWord(Bitmap bp) { string tempFileName = null; string bmpPath = null; object filename = null; object Nothing = null; tempFileName = GetTempFileName(); |