• 姓名" />

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

    <strike id="cmos2"><rt id="cmos2"></rt></strike>
  • <strike id="cmos2"><input id="cmos2"></input></strike>
  • <tfoot id="cmos2"><input id="cmos2"></input></tfoot>
  • 【吉光片羽】MVC 導(dǎo)出Word的兩種方式

    系統(tǒng) 2113 0

    ? ? 1.直接將Html轉(zhuǎn)成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
            
            
              ="#"
            
            
              >
            
            導(dǎo)出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方法會(huì)受到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
            
            
              ="#"
            
            
              >
            
            導(dǎo)出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
          
          
            "
          
          
            );
    
            }
          
        

    這樣的問題是導(dǎo)出的圖片是引用型的,路徑一變化就不會(huì)顯示了。優(yōu)點(diǎn)就是速度很快。

    ? 2.使用Microsoft.Office.Interop.Word 提供的方法創(chuàng)建一個(gè)word。

            
              ///
            
            
              <summary>
            
            
              ///
            
            
               創(chuàng)建一個(gè)word
    
            
            
            
              ///
            
            
              </summary>
            
            
              ///
            
            
              <returns></returns>
            
            
              public
            
            
               ActionResult ExportWords()
    
            {
    
                CreateAWord();
    
                SetPageHeader(
            
            
              "
            
            
              測試創(chuàng)建一個(gè)Word文檔
            
            
              "
            
            
              );
    
                InsertText(
            
            
              "
            
            
              這是一個(gè)測試文檔的內(nèi)容
            
            
              "
            
            , 
            
              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應(yīng)用對(duì)象  
    
            
            
            
              ///
            
            
              </summary>
            
            
              private
            
            
               Microsoft.Office.Interop.Word.Application _wordApplication;
    
            
            
            
              ///
            
            
              <summary>
            
            
              ///
            
            
               word 文件對(duì)象 
    
            
            
            
              ///
            
            
              </summary>
            
            
              private
            
            
               Microsoft.Office.Interop.Word.Document _wordDocument;
    
            
            
            
              ///
            
            
              <summary>
            
            
              ///
            
            
                創(chuàng)建文檔  如果報(bào)錯(cuò):類型“Microsoft.Office.Interop.Word.ApplicationClass”未定義構(gòu)造函數(shù) ; 解決方法:在其中點(diǎn)開“引用”文件夾,在"Microsoft.Office.Interop.Word" 上點(diǎn)擊鼠標(biāo)右鍵,選擇“屬性”,將屬性中的“嵌入互操作類型”的值改為“false”即可
    
            
            
            
              ///
            
            
              </summary>
            
            
              public
            
            
              void
            
            
               CreateAWord()
    
            {
    
                
            
            
              //
            
            
              實(shí)例化word應(yīng)用對(duì)象 
            
            
              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);
    
                
            
            
              //
            
            
              設(shè)置中間對(duì)齊 
            
            
              this
            
            ._wordApplication.Selection.ParagraphFormat.Alignment =
            
               Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                
            
            
              //
            
            
              跳出頁眉設(shè)置 
            
            
              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)
    
            {
    
                
            
            
              //
            
            
              設(shè)置字體樣式以及方向 
            
            
              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>
            
            
              ///
            
            
               插入一個(gè)圖片 
    
            
            
            
              ///
            
            
              </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 = 
            
              "
            
            
              產(chǎn)品\n項(xiàng)目
            
            
              "
            
            
              ;
    
                _wordDocument.Tables[
            
            
              1
            
            ].Cell(
            
              1
            
            , 
            
              2
            
            ).Range.Text = 
            
              "
            
            
              電腦
            
            
              "
            
            
              ;
    
                _wordDocument.Tables[
            
            
              1
            
            ].Cell(
            
              1
            
            , 
            
              3
            
            ).Range.Text = 
            
              "
            
            
              手機(jī)
            
            
              "
            
            
              ;
    
                _wordDocument.Tables[
            
            
              1
            
            ].Cell(
            
              2
            
            , 
            
              1
            
            ).Range.Text = 
            
              "
            
            
              重量(kg)
            
            
              "
            
            
              ;
    
                _wordDocument.Tables[
            
            
              1
            
            ].Cell(
            
              3
            
            , 
            
              1
            
            ).Range.Text = 
            
              "
            
            
              價(jià)格(元)
            
            
              "
            
            
              ;
    
                _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;
            
              //
            
            
              整個(gè)表格居中
            
            
              
    
                _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>
            
            
              ///
            
            
               關(guān)閉文檔 
    
            
            
            
              ///
            
            
              </summary>
            
            
              public
            
            
              void
            
             CloseDocument(
            
              string
            
            
               fileName)
    
            {
    
                
            
            
              object
            
             myNothing =
            
               System.Reflection.Missing.Value;
    
                
            
            
              //
            
            
              關(guān)閉文檔 
            
            
              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.如果要導(dǎo)出excel 還是用NPOI最好。? http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html

    ? 調(diào)用該博主ExcelRender中的方法,返回File。 不然網(wǎng)上的其他辦法都很有問題,要么打不開,要么服務(wù)器沒裝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導(dǎo)入。

    ? file就是一個(gè)HttpPostedFileBase 對(duì)象。即上傳的excel文件。用ExcelRender 轉(zhuǎn)換為table 再進(jìn)行插入數(shù)據(jù)庫的操作。

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

    ?

    【吉光片羽】MVC 導(dǎo)出Word的兩種方式


    更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號(hào)聯(lián)系: 360901061

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

    【本文對(duì)您有幫助就好】

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

    發(fā)表我的評(píng)論
    最新評(píng)論 總共0條評(píng)論
    主站蜘蛛池模板: 怀来县| 鹤峰县| 武威市| 连城县| 三江| 平顺县| 文水县| 青阳县| 龙陵县| 资源县| 揭东县| 城口县| 东阳市| 东丽区| 紫金县| 库伦旗| 奉化市| 张家口市| 萨迦县| 通州市| 白水县| 桦南县| 中方县| 日喀则市| 麻阳| 镇沅| 古交市| 琼中| 朔州市| 乌拉特中旗| 通山县| 乌兰县| 佳木斯市| 康马县| 咸丰县| 大安市| 万全县| 荥阳市| 南城县| 滦平县| 那坡县|