匯入word三種方法
1匯出網頁(無圖片)
string excelname = "FileName";
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-winword";
HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + excelname + ".doc");
DataList1.Page.EnableViewState = false;
StringWriter sw = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(sw);
DataList1.RenderControl(tw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
2 匯出網頁(無圖片)
Response.Clear();
Response.BufferOutput = true;
//設定輸出的字元集
Response.Charset = "GB2312";
//假定匯出的檔案名稱為FileName.doc
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.doc");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
////設定匯出檔案的格式
Response.ContentType = "application/ms-word";
//關閉ViewState
DataList1.EnableViewState = false;
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
DataList1.RenderControl(textWriter);
// //把HTML寫回瀏覽器
Response.Write(stringWriter.ToString());
Response.End();
3 匯入word(附圖片/地址採用絕對路徑)
using System.IO;
using Word = Microsoft.Office.Interop.Word;
string message = "";
try
{
Object Nothing = System.Reflection.Missing.Value;
Directory.CreateDirectory("C:/CNSI"); //建立檔案所在目錄
string name = "CNSI.doc";
object filename = "C://CNSI//" + name; //檔案儲存路徑
//建立Word文檔
Word.Application WordApp = new Word.ApplicationClass();
Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
////添加頁首
//WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
//WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
//WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[頁首內容]");
//WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;//設定靠右對齊
//WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//跳出頁首設定
//WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//設定文檔的行間距
//移動焦點並換行
object count = 14;
object WdLine = Word.WdUnits.wdLine;//換一行;
WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移動焦點
WordApp.Selection.TypeParagraph();//插入段落
//文檔中建立表格
Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3, ref Nothing, ref Nothing);
//設定表格樣式
newTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleThickThinLargeGap;
newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
newTable.Columns[1].Width = 100f;
newTable.Columns[2].Width = 220f;
newTable.Columns[3].Width = 105f;
//填充表格內容
newTable.Cell(1, 1).Range.Text = "蘇州大學";
newTable.Cell(1, 1).Range.Bold = 2;//設定儲存格中字型為粗體
//合併儲存格
newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));
WordApp.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直置中
WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平置中
//填充表格內容
newTable.Cell(2, 1).Range.Text = "產品基本資料";
newTable.Cell(2, 1).Range.Font.Color = Word.WdColor.wdColorDarkBlue;//設定儲存格內字型顏色
//合併儲存格
newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));
WordApp.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
//填充表格內容
newTable.Cell(3, 1).Range.Text = "品牌名稱:";
newTable.Cell(3, 2).Range.Text = "CheckedInfo";
//縱向合併儲存格
newTable.Cell(3, 3).Select();//選中一行
object moveUnit = Word.WdUnits.wdLine;
object moveCount = 5;
object moveExtend = Word.WdMovementType.wdExtend;
WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
WordApp.Selection.Cells.Merge();
//插入圖片
// string FileName = @"C:\1.jpg";//圖片所在路徑
DataTable dt=BLL.user.GetInfoByUNumber("096307502");
string image= dt.Rows[0]["UImage"].ToString();
string img=image.Substring(5,16);
// 201184112513.jpg
string path1 = "http://localhost:4356/pic/" + img;
string FileName = path1;
// string FileName = @"~/image/logo.gif";//圖片所在路徑
object LinkToFile = false;
object SaveWithDocument = true;
object Anchor = WordDoc.Application.Selection.Range;
WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;//圖片寬度
WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;//圖片高度
//將圖片設定為四周環繞型
Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();
s.WrapFormat.Type = Word.WdWrapType.wdWrapSquare;
newTable.Cell(12, 1).Range.Text = "產品特殊屬性";
newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));
//在表格中增加行
for (int i = 0; i < 3; i++)
{
WordDoc.Content.Tables[1].Rows.Add(ref Nothing);
WordDoc.Paragraphs.Last.Range.Text = "文檔建立時間:" + DateTime.Now.ToString();//“落款”
WordDoc.Paragraphs.Last.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;
}
//檔案儲存
WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
// message = name + "文檔產生成功,以儲存到C:CNSI下";
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('文檔產生成功,以儲存到C:CNSI下')</script>");
}
catch
{
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('檔案匯出異常')</script>");
// message = "檔案匯出異常!";
}
// return message;