• <form id="2t03z"><dd id="2t03z"></dd></form>

        姓名" />

        亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

      1. <label id="2t03z"><samp id="2t03z"><object id="2t03z"></object></samp></label><rt id="2t03z"></rt>
        <span id="2t03z"></span>

        【吉光片羽】MVC 導出Word的兩種方式

        系統 2145 0

        ? ? 1.直接將Html轉成Word。MVC自帶FileResult很好用。Html中我們也可以嵌入自己的樣式。

        ? ? html:

                
                  <
                
                
                  div 
                
                
                  id
                
                
                  ="target"
                
                
                  >
                
                
                  <
                
                
                  style
                
                
                  >
                
                
                  
        
                table
                
                
                  {
                
                
                  border-collapse
                
                
                  :
                
                
                   collapse
                
                
                  ;
                
                
                  border
                
                
                  :
                
                
                   1px solid  black
                
                
                  ;
                
                
                  }
                
                
                  
        
                td
                
                
                  {
                
                
                  border
                
                
                  :
                
                
                   1px royalblue solid
                
                
                  }
                
                
                  </
                
                
                  style
                
                
                  >
                
                
                  <
                
                
                  img 
                
                
                  src
                
                
                  ="../../Content/eman_sm.png"
                
                
                   alt
                
                
                  =""
                
                
                  />
                
                
                  <
                
                
                  table
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                姓名
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                成績
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                張山
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                80分
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                李四
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                90分
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  </
                
                
                  table
                
                
                  >
                
                
                  </
                
                
                  div
                
                
                  >
                
                
                  <
                
                
                  div 
                
                
                  style
                
                
                  ="color: red"
                
                
                  ></
                
                
                  div
                
                
                  >
                
                
                  <
                
                
                  a 
                
                
                  id
                
                
                  ="ea"
                
                
                   href
                
                
                  ="#"
                
                
                  >
                
                導出word
                
                  </
                
                
                  a
                
                
                  >
                
                
                  <
                
                
                  a 
                
                
                  href
                
                
                  ="@Url.Action("
                
                
                  ExportWords")"
                
                
                  >
                
                ExportWords
                
                  </
                
                
                  a
                
                
                  >
                
              
        View Code
              <script>
              
                
        
            $(
              
              "#ea").click(
              
                function
              
              
                 () {
        
                
              
              
                var
              
               html = $("#target"
              
                ).html();
        
                window.open(
              
              "/Home/ExportWord?html=" +
              
                 html);
        
            })
        
        
              
              </script>
            

        get方法會受到url長度的影響,可以換成隱藏的form提交。

                
                  <
                
                
                  form 
                
                
                  id
                
                
                  ="form1"
                
                
                   action
                
                
                  ="/Home/ExportWord"
                
                
                  >
                
                
                  <
                
                
                  input 
                
                
                  type
                
                
                  ="hidden"
                
                
                   value
                
                
                  =""
                
                
                    name
                
                
                  ="html"
                
                
                   id
                
                
                  ="cc"
                
                
                  />
                
                
                  <
                
                
                  input 
                
                
                  type
                
                
                  ="submit"
                
                
                   id
                
                
                  ="st"
                
                
                  />
                
                
                  </
                
                
                  form
                
                
                  >
                
                
                  <
                
                
                  div 
                
                
                  id
                
                
                  ="target"
                
                
                  >
                
                
                  <
                
                
                  style
                
                
                  >
                
                
                  
        
                table
                
                
                  {
                
                
                  border-collapse
                
                
                  :
                
                
                   collapse
                
                
                  ;
                
                
                  border
                
                
                  :
                
                
                   1px solid  black
                
                
                  ;
                
                
                  }
                
                
                  
        
                td
                
                
                  {
                
                
                  border
                
                
                  :
                
                
                   1px royalblue solid
                
                
                  }
                
                
                  </
                
                
                  style
                
                
                  >
                
                
                  <
                
                
                  table
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                姓名
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                成績
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                張山
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                80分
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  tr
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                李四
                
                  </
                
                
                  td
                
                
                  >
                
                
                  <
                
                
                  td
                
                
                  >
                
                90分
                
                  </
                
                
                  td
                
                
                  >
                
                
                  </
                
                
                  tr
                
                
                  >
                
                
                  </
                
                
                  table
                
                
                  >
                
                
                  </
                
                
                  div
                
                
                  >
                
                
                  <
                
                
                  div 
                
                
                  style
                
                
                  ="color: red"
                
                
                  ></
                
                
                  div
                
                
                  >
                
                
                  <
                
                
                  a 
                
                
                  id
                
                
                  ="ea"
                
                
                   href
                
                
                  ="#"
                
                
                  >
                
                導出word
                
                  </
                
                
                  a
                
                
                  >
                
                
                  <
                
                
                  a 
                
                
                  href
                
                
                  ="@Url.Action("
                
                
                  ExportWords")"
                
                
                  >
                
                ExportWords
                
                  </
                
                
                  a
                
                
                  >
                
                
                  <
                
                
                  script
                
                
                  >
                
                
                  
        
            $(
                
                
                  "
                
                
                  #ea
                
                
                  "
                
                
                  ).click(
                
                
                  function
                
                
                   () {
        
                
                
                
                  var
                
                
                   html 
                
                
                  =
                
                
                   $(
                
                
                  "
                
                
                  #target
                
                
                  "
                
                
                  ).html();
        
                $(
                
                
                  "
                
                
                  #cc
                
                
                  "
                
                
                  ).val(html);
        
                $(
                
                
                  "
                
                
                  #st
                
                
                  "
                
                
                  ).click();
        
            })
        
        
                
                
                  </
                
                
                  script
                
                
                  >
                
              
        View Code

        ?

        Action:

               [ValidateInput(
              
                false
              
              
                )]
        
                
              
              
                public
              
               FileResult ExportWord(
              
                string
              
              
                 html)
        
                {
        
                    StringBuilder sb 
              
              = 
              
                new
              
              
                 StringBuilder();
        
                    sb.Append(
              
              
                "
              
              
                <!DOCTYPE html>
              
              
                "
              
              
                );
        
                    sb.Append(
              
              
                "
              
              
                <body>
              
              
                "
              
              
                );
        
                    sb.Append(html);
        
                    sb.Append(
              
              
                "
              
              
                </body>
              
              
                "
              
              
                );
        
                    
              
              
                var
              
               byteArray =
              
                 System.Text.Encoding.Default.GetBytes(sb.ToString());
        
                    Response.ContentEncoding 
              
              = System.Text.Encoding.GetEncoding(
              
                "
              
              
                gb2312
              
              
                "
              
              
                );
        
                    
              
              
                return
              
               File(byteArray, 
              
                "
              
              
                application/ms-word
              
              
                "
              
              , 
              
                "
              
              
                wordtest
              
              
                "
              
               + 
              
                "
              
              
                .doc
              
              
                "
              
              
                );
        
                }
              
            

        這樣的問題是導出的圖片是引用型的,路徑一變化就不會顯示了。優點就是速度很快。

        ? 2.使用Microsoft.Office.Interop.Word 提供的方法創建一個word。

                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   創建一個word
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  ///
                
                
                  <returns></returns>
                
                
                  public
                
                
                   ActionResult ExportWords()
        
                {
        
                    CreateAWord();
        
                    SetPageHeader(
                
                
                  "
                
                
                  測試創建一個Word文檔
                
                
                  "
                
                
                  );
        
                    InsertText(
                
                
                  "
                
                
                  這是一個測試文檔的內容
                
                
                  "
                
                , 
                
                  14
                
                , WdColor.wdColorGray10, 
                
                  1
                
                
                  , WdParagraphAlignment.wdAlignParagraphLeft);
        
                    NewLine();
        
                    InsertPicture(
                
                
                  @"
                
                
                  C:\Users\Administrator\Desktop\duoceshi.png
                
                
                  "
                
                
                  );
        
                    InsertTable();
        
                    SaveWord(
                
                
                  @"
                
                
                  C:\Users\Administrator\Desktop\\test.doc
                
                
                  "
                
                
                  );
        
                    CloseDocument(
                
                
                  @"
                
                
                  C:\Users\Administrator\Desktop\\test.doc
                
                
                  "
                
                
                  );
        
                    
                
                
                  return
                
                
                  null
                
                
                  ;
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   Word應用對象  
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  private
                
                
                   Microsoft.Office.Interop.Word.Application _wordApplication;
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   word 文件對象 
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  private
                
                
                   Microsoft.Office.Interop.Word.Document _wordDocument;
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                    創建文檔  如果報錯:類型“Microsoft.Office.Interop.Word.ApplicationClass”未定義構造函數 ; 解決方法:在其中點開“引用”文件夾,在"Microsoft.Office.Interop.Word" 上點擊鼠標右鍵,選擇“屬性”,將屬性中的“嵌入互操作類型”的值改為“false”即可
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  public
                
                
                  void
                
                
                   CreateAWord()
        
                {
        
                    
                
                
                  //
                
                
                  實例化word應用對象 
                
                
                  this
                
                ._wordApplication = 
                
                  new
                
                
                   Microsoft.Office.Interop.Word.ApplicationClass();
        
                    Object myNothing 
                
                =
                
                   System.Reflection.Missing.Value;
        
                    
                
                
                  this
                
                ._wordDocument = 
                
                  this
                
                ._wordApplication.Documents.Add(
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing);
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   添加頁眉 
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  ///
                
                
                  <param name="pPageHeader"></param>
                
                
                  public
                
                
                  void
                
                 SetPageHeader(
                
                  string
                
                
                   pPageHeader)
        
                {
        
                    
                
                
                  //
                
                
                  添加頁眉 
                
                
                  this
                
                ._wordApplication.ActiveWindow.View.Type =
                
                   Microsoft.Office.Interop.Word.WdViewType.wdOutlineView;
        
                    
                
                
                  this
                
                ._wordApplication.ActiveWindow.View.SeekView =
                
                   Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader;
        
                    
                
                
                  this
                
                
                  ._wordApplication.ActiveWindow.ActivePane.Selection.InsertAfter(pPageHeader);
        
                    
                
                
                  //
                
                
                  設置中間對齊 
                
                
                  this
                
                ._wordApplication.Selection.ParagraphFormat.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    
                
                
                  //
                
                
                  跳出頁眉設置 
                
                
                  this
                
                ._wordApplication.ActiveWindow.View.SeekView =
                
                   Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   插入文字
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  ///
                
                
                  <param name="pText">
                
                
                  文本信息
                
                
                  </param>
                
                
                  ///
                
                
                  <param name="pFontSize">
                
                
                  字體大小
                
                
                  </param>
                
                
                  ///
                
                
                  <param name="pFontColor">
                
                
                  字體顏色
                
                
                  </param>
                
                
                  ///
                
                
                  <param name="pFontBold">
                
                
                  字體粗體
                
                
                  </param>
                
                
                  ///
                
                
                  <param name="ptextAlignment">
                
                
                  方向
                
                
                  </param>
                
                
                  public
                
                
                  void
                
                 InsertText(
                
                  string
                
                 pText, 
                
                  int
                
                 pFontSize, Microsoft.Office.Interop.Word.WdColor pFontColor, 
                
                  int
                
                
                   pFontBold, Microsoft.Office.Interop.Word.WdParagraphAlignment ptextAlignment)
        
                {
        
                    
                
                
                  //
                
                
                  設置字體樣式以及方向 
                
                
                  this
                
                ._wordApplication.Application.Selection.Font.Size =
                
                   pFontSize;
        
                    
                
                
                  this
                
                ._wordApplication.Application.Selection.Font.Bold =
                
                   pFontBold;
        
                    
                
                
                  this
                
                ._wordApplication.Application.Selection.Font.Color =
                
                   pFontColor;
        
                    
                
                
                  this
                
                ._wordApplication.Application.Selection.ParagraphFormat.Alignment =
                
                   ptextAlignment;
        
                    
                
                
                  this
                
                
                  ._wordApplication.Application.Selection.TypeText(pText);
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   換行
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  public
                
                
                  void
                
                
                   NewLine()
        
                {
        
                    
                
                
                  //
                
                
                  換行 
                
                
                  this
                
                
                  ._wordApplication.Application.Selection.TypeParagraph();
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   插入一個圖片 
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  ///
                
                
                  <param name="pPictureFileName"></param>
                
                
                  public
                
                
                  void
                
                 InsertPicture(
                
                  string
                
                
                   pPictureFileName)
        
                {
        
                    
                
                
                  object
                
                 myNothing =
                
                   System.Reflection.Missing.Value;
        
                    
                
                
                  //
                
                
                  圖片居中顯示 
                
                
                  this
                
                ._wordApplication.Selection.ParagraphFormat.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    
                
                
                  this
                
                ._wordApplication.Application.Selection.InlineShapes.AddPicture(pPictureFileName, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing);
        
                }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   插入表格
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  public
                
                
                  void
                
                
                   InsertTable()
        
                {
        
                    
                
                
                  object
                
                 myNothing =
                
                   System.Reflection.Missing.Value;
        
                    Microsoft.Office.Interop.Word.Table table1 
                
                = _wordDocument.Tables.Add(_wordApplication.Selection.Range, 
                
                  4
                
                , 
                
                  3
                
                , 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing);
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  1
                
                , 
                
                  1
                
                ).Range.Text = 
                
                  "
                
                
                  產品\n項目
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  1
                
                , 
                
                  2
                
                ).Range.Text = 
                
                  "
                
                
                  電腦
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  1
                
                , 
                
                  3
                
                ).Range.Text = 
                
                  "
                
                
                  手機
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  2
                
                , 
                
                  1
                
                ).Range.Text = 
                
                  "
                
                
                  重量(kg)
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  3
                
                , 
                
                  1
                
                ).Range.Text = 
                
                  "
                
                
                  價格(元)
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  4
                
                , 
                
                  1
                
                ).Range.Text = 
                
                  "
                
                
                  共同信息
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  4
                
                , 
                
                  2
                
                ).Range.Text = 
                
                  "
                
                
                  信息A
                
                
                  "
                
                
                  ;
        
                    _wordDocument.Tables[
                
                
                  1
                
                ].Cell(
                
                  4
                
                , 
                
                  3
                
                ).Range.Text = 
                
                  "
                
                
                  信息B
                
                
                  "
                
                
                  ;
        
                    table1.Select();
        
                    table1.Rows.Alignment 
                
                = Microsoft.Office.Interop.Word.WdRowAlignment.wdAlignRowCenter;
                
                  //
                
                
                  整個表格居中
                
                
                  
        
                    _wordApplication.Selection.Cells.VerticalAlignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
        
                    _wordApplication.Selection.ParagraphFormat.Alignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    _wordApplication.Selection.Cells.HeightRule 
                
                =
                
                   Microsoft.Office.Interop.Word.WdRowHeightRule.wdRowHeightExactly;
        
                    _wordApplication.Selection.Cells.Height 
                
                = 
                
                  40
                
                
                  ;
        
                    table1.Rows[
                
                
                  2
                
                ].Height = 
                
                  20
                
                
                  ;
        
                    table1.Rows[
                
                
                  3
                
                ].Height = 
                
                  20
                
                
                  ;
        
                    table1.Rows[
                
                
                  4
                
                ].Height = 
                
                  20
                
                
                  ;
        
                    table1.Range.ParagraphFormat.Alignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    _wordApplication.Selection.Cells.Width 
                
                = 
                
                  150
                
                
                  ;
        
                    table1.Columns[
                
                
                  1
                
                ].Width = 
                
                  75
                
                
                  ;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Range.ParagraphFormat.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Range.Paragraphs[
                
                  2
                
                ].Format.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
        
        
        
        
        
                    _wordApplication.Selection.Cells.VerticalAlignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
        
                    _wordApplication.Selection.ParagraphFormat.Alignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    _wordApplication.Selection.Cells.HeightRule 
                
                =
                
                   Microsoft.Office.Interop.Word.WdRowHeightRule.wdRowHeightExactly;
        
                    _wordApplication.Selection.Cells.Height 
                
                = 
                
                  40
                
                
                  ;
        
                    table1.Rows[
                
                
                  2
                
                ].Height = 
                
                  20
                
                ; table1.Rows[
                
                  3
                
                ].Height = 
                
                  20
                
                
                  ;
        
                    table1.Rows[
                
                
                  4
                
                ].Height = 
                
                  20
                
                
                  ;
        
                    table1.Range.ParagraphFormat.Alignment 
                
                =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
        
                    _wordApplication.Selection.Cells.Width 
                
                = 
                
                  150
                
                
                  ;
        
                    table1.Columns[
                
                
                  1
                
                ].Width = 
                
                  75
                
                
                  ;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Range.ParagraphFormat.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Range.Paragraphs[
                
                  2
                
                ].Format.Alignment =
                
                   Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
        
        
        
                    
                
                
                  //
                
                
                  表頭斜線 
                
                
        
                    table1.Cell(
                
                  1
                
                , 
                
                  1
                
                ).Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderDiagonalDown].Visible = 
                
                  true
                
                
                  ;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderDiagonalDown].Color =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Cell(
                
                
                  1
                
                , 
                
                  1
                
                ).Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderDiagonalDown].LineWidth =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
        
        
        
        
                    
                
                
                  //
                
                
                  表格邊框             
                
                
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderHorizontal].Visible = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderHorizontal].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderHorizontal].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderVertical].Visible 
                
                = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderVertical].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderVertical].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].Visible 
                
                = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].LineStyle 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDoubleWavy;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].Visible 
                
                = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].LineStyle 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDoubleWavy;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].Visible 
                
                = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].LineStyle 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDouble;
        
        
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].Visible 
                
                = 
                
                  true
                
                
                  ;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].Color 
                
                =
                
                   Microsoft.Office.Interop.Word.WdColor.wdColorGreen;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].LineWidth 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineWidth.wdLineWidth050pt;
        
                    table1.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].LineStyle 
                
                =
                
                   Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleDouble;
        
        
        
        
        
                    
                
                
                  //
                
                
                  合并單元格 
        
                    
                
                
                  //
                
                
                  _wordDocument.Tables[1].Cell(4, 2).Merge(table1.Cell(4, 3)); 
                
                
                          }
        
                [DllImport(
                
                
                  "
                
                
                  shell32.dll 
                
                
                  "
                
                
                  )]
        
                
                
                
                  public
                
                
                  static
                
                
                  extern
                
                
                  int
                
                 ShellExecute(IntPtr hwnd, String lpszOp, String lpszFile, String lpszParams, String lpszDir, 
                
                  int
                
                
                   FsShowCmd);
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   關閉文檔 
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  public
                
                
                  void
                
                 CloseDocument(
                
                  string
                
                
                   fileName)
        
                {
        
                    
                
                
                  object
                
                 myNothing =
                
                   System.Reflection.Missing.Value;
        
                    
                
                
                  //
                
                
                  關閉文檔 
                
                
                  object
                
                 saveOption = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; _wordDocument.Close(
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing);
        
                    _wordApplication.Application.Quit(
                
                
                  ref
                
                 saveOption, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing); _wordDocument = 
                
                  null
                
                ; _wordApplication = 
                
                  null
                
                
                  ;
        
                    
                
                
                  //
                
                
                  ShellExecute(IntPtr.Zero, "open", fileName, "", "", 3);
                
                
                          }
        
                
                
                
                  ///
                
                
                  <summary>
                
                
                  ///
                
                
                   保存文件 
        
                
                
                
                  ///
                
                
                  </summary>
                
                
                  ///
                
                
                  <param name="pFileName">
                
                
                  文件名
                
                
                  </param>
                
                
                  public
                
                
                  void
                
                 SaveWord(
                
                  string
                
                
                   pFileName)
        
                {
        
                    
                
                
                  object
                
                 myNothing =
                
                   System.Reflection.Missing.Value;
        
                    
                
                
                  object
                
                 myFileName =
                
                   pFileName;
        
                    
                
                
                  object
                
                 myWordFormatDocument =
                
                   Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;
        
                    
                
                
                  object
                
                 myLockd = 
                
                  false
                
                
                  ;
        
                    
                
                
                  object
                
                 myPassword = 
                
                  ""
                
                
                  ;
        
                    
                
                
                  object
                
                 myAddto = 
                
                  true
                
                
                  ;
        
                    
                
                
                  try
                
                
                  
        
                    {
        
                        
                
                
                  this
                
                ._wordDocument.SaveAs(
                
                  ref
                
                 myFileName, 
                
                  ref
                
                 myWordFormatDocument, 
                
                  ref
                
                 myLockd, 
                
                  ref
                
                
                   myPassword,
        
                            
                
                
                  ref
                
                 myAddto, 
                
                  ref
                
                
                   myPassword,
        
                            
                
                
                  ref
                
                 myLockd, 
                
                  ref
                
                 myLockd, 
                
                  ref
                
                 myLockd, 
                
                  ref
                
                 myLockd, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing,
        
                            
                
                
                  ref
                
                 myNothing, 
                
                  ref
                
                 myNothing, 
                
                  ref
                
                
                   myNothing);
        
                    }
        
                    
                
                
                  catch
                
                
                   (Exception exception)
        
                    {
        
                        
                
                
                  throw
                
                
                  new
                
                 Exception(
                
                  "
                
                
                  保存word文檔失敗!
                
                
                  "
                
                
                  );
        
                    }
        
                }
                
              
        View Code

        ?圖片倒是保存住了,可配置的地方很多,速度有些慢,代碼量頗多。

        ?3.如果要導出excel 還是用NPOI最好。? http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html

        ? 調用該博主ExcelRender中的方法,返回File。 不然網上的其他辦法都很有問題,要么打不開,要么服務器沒裝office就不行了。

              
                public
              
              
                 FileResult ExportExcel()
        
                {
        
                    DataTable table 
              
              = 
              
                new
              
              
                 DataTable();
        
                    table.Columns.Add(
              
              
                "
              
              
                aa
              
              
                "
              
              , 
              
                typeof
              
              (
              
                string
              
              
                ));
        
                    table.Columns.Add(
              
              
                "
              
              
                bb
              
              
                "
              
              , 
              
                typeof
              
              (
              
                string
              
              
                ));
        
                    table.Columns.Add(
              
              
                "
              
              
                cc
              
              
                "
              
              , 
              
                typeof
              
              (
              
                string
              
              
                ));
        
                    
              
              
                for
              
               (
              
                int
              
               i = 
              
                0
              
              ; i < 
              
                10
              
              ; i++
              
                )
        
                    {
        
                        
              
              
                string
              
               a =
              
                 DateTime.Now.Ticks.ToString();
        
                        Thread.Sleep(
              
              
                1
              
              
                );
        
                        
              
              
                string
              
               b =
              
                 DateTime.Now.Ticks.ToString();
        
                        Thread.Sleep(
              
              
                1
              
              
                );
        
                        
              
              
                string
              
               c =
              
                 DateTime.Now.Ticks.ToString();
        
                        Thread.Sleep(
              
              
                1
              
              
                );
        
                        table.Rows.Add(a, b, c);
        
                    }
        
        
        
                   
              
              
                var
              
               ms=
              
                 ExcelRender.RenderToExcel(table);
        
        
        
                    
              
              
                return
              
               File(ms, 
              
                "
              
              
                application/vnd.ms-excel
              
              
                "
              
              , 
              
                "
              
              
                考試成績.xls
              
              
                "
              
              
                );
        
                }
              
            

        ?4. Excel導入。

        ? file就是一個HttpPostedFileBase 對象。即上傳的excel文件。用ExcelRender 轉換為table 再進行插入數據庫的操作。

              
                byte
              
              [] filebBytes =
              
                new
              
              
                byte
              
              
                [file.ContentLength];
        
           file.InputStream.Read(filebBytes, 
              
              
                0
              
              
                , file.ContentLength);
        
        
        
           
              
              
                var
              
               table = ExcelRender.RenderFromExcel(
              
                new
              
               MemoryStream(filebBytes),
              
                0
              
              ,
              
                0
              
              );
            

        ?

        【吉光片羽】MVC 導出Word的兩種方式


        更多文章、技術交流、商務合作、聯系博主

        微信掃碼或搜索:z360901061

        微信掃一掃加我為好友

        QQ號聯系: 360901061

        您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

        【本文對您有幫助就好】

        您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

        發表我的評論
        最新評論 總共0條評論
        主站蜘蛛池模板: 日韩免费黄色片 | 国产精品亚洲欧美大片在线看 | 成年女人午夜毛片免费看 | 天天干天天射天天舔 | 这里只有精品首页 | 成人影院一区二区三区 | 日本高清视频www夜色资源网 | 国内精品久久影院 | 亚洲va欧美va国产va天堂 | 99热这里只有精品9 99热这里只有精品99 | 牛牛精品| 亚洲综合欧美 | 欧美午夜伦y4480私人影院 | 欧美在线一区二区三区 | 美女被羞羞视频网站在线 | 成人精品mv视频在线观看 | 色吧色吧色吧网 | 97久久曰曰久久久 | 奇米影视一区二区三区 | 欧美国产亚洲18 | 日本一区二区在线播放 | 国产舐足视频在线观看 | 三中文乱码视频 | 日本二级毛片免费 | 中文欧美一级强 | 日韩黄色大片免费看 | 国产精品日韩欧美 | 在线麻豆| 奇米影视777俺要去888 | 波多野结衣手机视频一区 | 精品一区二区三区在线成人 | 免费看久久| 成人区精品一区二区不卡亚洲 | 色丁香在线观看 | 亚洲成人手机在线观看 | 久久国产精品永久免费网站 | 亚洲欧美色鬼久久综合 | 一级生活毛片 | 亚洲性久久久影院 | 欧美在线激情视频 | 伊人色综合久久天天伊 |