• 姓名" />

    日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

    <kbd id="wum20"></kbd>
  • <strike id="wum20"></strike>
    <ul id="wum20"><tbody id="wum20"></tbody></ul>
  • <th id="wum20"></th>
  • 【吉光片羽】MVC 導出Word的兩種方式

    系統 1999 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條評論
    主站蜘蛛池模板: 买车| 遵义市| 永安市| 蕉岭县| 衢州市| 普兰县| 拜城县| 温宿县| 桂林市| 德昌县| 嘉黎县| 渭南市| 远安县| 泰和县| 荃湾区| 荣成市| 陵水| 青州市| 凤翔县| 麻城市| 斗六市| 静安区| 甘肃省| 丹凤县| 哈巴河县| 海门市| 崇信县| 湛江市| 天柱县| 白山市| 岑巩县| 桂东县| 双峰县| 武定县| 云龙县| 长汀县| 阿拉尔市| 察雅县| 当涂县| 杭锦后旗| 陵水|