建站资讯

asp.net导出来word(word2007)

作者:admin 发布时间:2020-11-18
导出来word(word2007) 创作者:Aisencici / / 归类:blog归类 / 访问:3487

1、只有导出来成word2007文件格式(.docx),可立即导出来到顾客端

2、网络服务器上不用装一切物品,都没有管理权限限定,较为合适导出来报表(适用照片)

3、必须一个海外的DocX.dll软件(我QQ电子邮箱里有该软件)

4、必须加上引入:System.Drawing

5、必须引入:

using Novacode;

using System.Drawing;

using System.IO;

using System.Drawing.Imaging;

using System.Threading.Tasks;

using System.Data;

6、方式样比如下:

        public static void aa()

        {

            // Create a document.

            using (DocX document = DocX.Create( F:/检测/test2/转化成的word/111table.docx ))

            {

                // Add a hyperlink into the document.

                //Hyperlink link = document.AddHyperlink( link , new Uri( p>

                Paragraph title = document.InsertParagraph().Append( Test ).FontSize(20);//.Font(new FontFamily( Comic Sans MS ));

                title.Alignment = Alignment.center;

                Table table = document.InsertTable(4, 4);

                table.Design = TableDesign.TableGrid;

                //table.AutoFit = AutoFit.ColumnWidth;

                //总宽设定(每一个模块格都得设定),默认设置每一个模块格总宽:154,报表总总宽大概:687

                table.Rows[0].Cells[0].Width = 100;

                table.Rows[0].Cells[1].Width = 200;

                table.Rows[0].Cells[2].Width = 300;

                table.Rows[0].Cells[3].Width = 87;

                //table.Design = ent2;

                table.Alignment = Alignment.center;

                table.SetBorder(TableBorderType.InsideH, new Border());

                table.SetBorder(TableBorderType.InsideV, new Border());

                table.SetBorder(TableBorderType.Top, new Border());

                table.SetBorder(TableBorderType.Right, new Border());

                table.SetBorder(TableBorderType.Left, new Border());

                table.SetBorder(TableBorderType.Bottom, new Border());

               

                //table.AutoFit = AutoFit.ColumnWidth;//.Window;

                table.Rows[0].Cells[0].Paragraphs[0].Append(table.Rows[1].Cells[0].Paragraphs.Count.ToString());

                table.Rows[0].Cells[1].Paragraphs[0].Alignment = Alignment.right;

                table.Rows[0].Cells[1].Paragraphs[0].Append( 555 ).FontSize(15);//字体样式尺寸设定

                table.Rows[1].Cells[0].Paragraphs[0].InsertText( 检测1

                //色调设定

                table.Rows[1].Cells[0].Paragraphs[0].Color(Color.DarkBlue);

                //字体加粗

                table.Rows[1].Cells[0].Paragraphs[0].Bold();

                table.Rows[1].MergeCells(0, 3);

                for (; table.Rows[1].Cells[0].Paragraphs.Count != 1; )

                    table.Rows[1].Cells[0].Paragraphs.Last().Remove(false);

                table.Rows[2].Cells[0].Paragraphs[0].InsertText( 检测2

                table.Rows[3].Cells[0].Paragraphs[0].Append( 31

                table.Rows[3].Cells[1].Paragraphs[0].Append(table.Rows[1].Cells[0].Paragraphs[0].Text.Length.ToString());

                Paragraph p2 = document.InsertParagraph();


                Table table1 = document.InsertTable(4, 8);

                table1.AutoFit = AutoFit.Window;

                table1.Alignment = Alignment.center;

                table1.SetBorder(TableBorderType.InsideH, new Border());

                table1.SetBorder(TableBorderType.InsideV, new Border());

                table1.SetBorder(TableBorderType.Top, new Border());

                table1.SetBorder(TableBorderType.Right, new Border());

                table1.SetBorder(TableBorderType.Left, new Border());

                table1.SetBorder(TableBorderType.Bottom, new Border());

                table1.Rows[1].MergeCells(0, 3);


                table1.Rows[0].Cells[0].Paragraphs[0].Append(table1.Rows[1].Cells[0].Paragraphs.Count.ToString());

                table1.Rows[0].Cells[1].Paragraphs[0].Alignment = Alignment.right;

                table1.Rows[0].Cells[1].Paragraphs[0].Append( 222222

                table1.Rows[1].Cells[0].Paragraphs[0].InsertText( 检测1

                table1.Rows[1].Cells[0].Paragraphs[0].Bold();

                for (; table1.Rows[1].Cells[0].Paragraphs.Count )

                    table1.Rows[1].Cells[0].Paragraphs.Last().Remove(false);

                table1.Rows[2].Cells[0].Paragraphs[0].InsertText( 检测2

                table1.Rows[3].Cells[0].Paragraphs[0].Append( 31\r\n

                table1.Rows[3].Cells[1].Paragraphs[0].Append(table1.Rows[1].Cells[0].Paragraphs[0].Text.Length.ToString());


               System.IO.MemoryStream stream = new MemoryStream();

                //document.Save();

                document.SaveAs(stream);

                byte[] bytes = stream.ToArray();

                stream.Close();

                stream.Dispose();

                context.Response.ContentType = application/octet-stream

               //通告访问器免费下载文档而并不是开启

                context.Response.AddHeader( Content-Disposition , attachment;   filename= + 

                    HttpUtility.UrlEncode( test.docx , System.Text.Encoding.UTF8));

               context.Response.BinaryWrite(bytes);

               context.Response.Flush();

               HttpContext.Current.ApplicationInstance.CompleteRequest();

                context.Response.End();

            }

        }



收缩