Example #1
0
    private static void smethod_12(Class857 A_0, Paragraph A_1, FieldType A_2, string A_3, string A_4, CharacterFormat A_5, Style A_6)
    {
        Field field;
        int   num = 0x13;

        if (A_5 == null)
        {
            A_5 = A_1.BreakCharacterFormat;
        }
        if (A_2 == FieldType.FieldMergeField)
        {
            field = new MergeField(A_0.method_9());
        }
        else
        {
            field = new Field(A_0.method_9());
        }
        string str = A_3.Trim();

        if (str.EndsWith(BookmarkStart.b("攸ᄺ", num)))
        {
            A_3 = str.Substring(0, str.Length - 2);
        }
        field.Code = A_3;
        if (A_2 == FieldType.FieldMergeField)
        {
            field.ParseFieldCode(field.Code);
        }
        field.ApplyCharacterFormat(A_5);
        field.Type = A_2;
        A_1.method_13(field);
        if (A_2 != FieldType.FieldMergeField)
        {
            FieldMark mark = new FieldMark(A_0.method_9(), FieldMarkType.FieldSeparator);
            mark.ApplyCharacterFormat(A_5);
            TextRange range = new TextRange(A_0.method_9())
            {
                Text = A_4
            };
            range.ApplyCharacterFormat(A_5);
            FieldMark mark2 = new FieldMark(A_0.method_9(), FieldMarkType.FieldEnd);
            mark2.ApplyCharacterFormat(A_5);
            field.Separator = mark;
            field.End       = mark2;
            A_1.method_13(mark);
            A_1.method_13(range);
            A_1.method_13(mark2);
        }
        field.UpdateFieldCode(field.Code);
    }
Example #2
0
        public static void AddHeading(this Document doc, string headingContent, Spire.Doc.Formatting.CharacterFormat characterFormat = null)
        {
            if (doc == null || string.IsNullOrWhiteSpace(headingContent))
            {
                throw new ArgumentNullException($"some parameter is null - " +
                                                $"doc: {doc}, headingContent: {headingContent}.");
            }


            //create heading
            Section   section = doc.Sections[0];
            Paragraph para1   = section.AddParagraph();

            para1.AppendText(headingContent);
            para1.ApplyStyle(BuiltinStyle.Heading1);

            if (characterFormat != null)
            {
                foreach (DocumentObject obj in para1.ChildObjects)
                {
                    TextRange tr = obj as TextRange;
                    tr.ApplyCharacterFormat(characterFormat);
                }
            }


            //Paragraph para2 = section.AddParagraph();
            //para2.AppendText("3.1 Head2");
            //para2.ApplyStyle(BuiltinStyle.Heading2);
            //foreach (DocumentObject obj in para2.ChildObjects)
            //{
            //    TextRange tr = obj as TextRange;
            //    tr.ApplyCharacterFormat(format2);
            //}

            ////use self-defined style
            //Paragraph para3 = section.AddParagraph();
            //para3.AppendText("3.1.1 Head3");
            //para3.ApplyStyle(BuiltinStyle.Heading3);
            //foreach (DocumentObject obj in para3.ChildObjects)
            //{
            //    TextRange tr = obj as TextRange;
            //    tr.CharacterFormat.FontSize = 10.0f;
            //    tr.CharacterFormat.Bold = true;
            //    tr.CharacterFormat.TextColor = format2.TextColor;
            //}
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //Load the document
            string   input = @"..\..\..\..\..\..\Data\Sample.docx";
            Document doc   = new Document();

            doc.LoadFromFile(input);

            //Get the first section
            Section s = doc.Sections[0];

            //Get the second paragraph
            Paragraph p = s.Paragraphs[1];

            //Create a characterFormat object
            CharacterFormat format = new CharacterFormat(doc);

            //Set font
            format.Font = new Font("Arial", 16);

            //Loop through the childObjects of paragraph
            foreach (DocumentObject childObj in p.ChildObjects)
            {
                if (childObj is TextRange)
                {
                    //Apply character format
                    TextRange tr = childObj as TextRange;
                    tr.ApplyCharacterFormat(format);
                }
            }

            //Save and launch document
            string output = "SetFont.docx";

            doc.SaveToFile(output, FileFormat.Docx);
            Viewer(output);
        }
Example #4
0
    private static void smethod_4(Class581 A_0, CharacterFormat A_1)
    {
        Class394 class2 = A_0.imethod_1();

        if (class2.method_51().Length > 0)
        {
            TextRange range = null;
            string    str2  = class2.method_51().ToString();
            if (class2.method_57() is MergeField)
            {
                range = class2.method_57();
                string str = str2;
                if (((A_1 != null) && A_1.Bidi) && (str != null))
                {
                    str      = smethod_5(str);
                    A_1.Bidi = false;
                }
                if (range.Text == string.Empty)
                {
                    range.Text = str;
                    range.ApplyCharacterFormat(A_1);
                }
                else
                {
                    range.Text = range.Text + str;
                }
                class2.method_51().Length = 0;
            }
            else if (Class567.smethod_16(str2))
            {
                range = new TextRange(A_0.Interface50.imethod_0(), str2, A_1);
                A_0.method_9(range);
                class2.method_51().Length = 0;
            }
        }
    }
Example #5
0
    private static void smethod_6(Class581 A_0, CharacterFormat A_1)
    {
        Class394 class2 = A_0.imethod_1();
        string   str    = class2.method_1();

        while (class2.method_10(str, XmlDocumentTextHandling.TextAndSignificant))
        {
            string str2 = class2.method_3();
            switch (str2)
            {
            case null:
            case string.Empty:
                return;
            }
            Field field = smethod_7(str2, A_0.Interface50.imethod_0());
            if (!class2.bool_0 && (class2.method_57() != null))
            {
                int index = -1;
                if ((class2.method_57() != null) && (class2.method_57().NextSibling == null))
                {
                    index = (A_0.method_13() as Paragraph).ChildObjects.IndexOf(class2.method_57());
                }
                if (((class2.method_53() != FieldCharType.Seperate) && (index >= 0)) && (index == ((A_0.method_13() as Paragraph).ChildObjects.Count - 1)))
                {
                    Field field3 = class2.method_57();
                    field3.Code = field3.Code + str2;
                    if (class2.method_57().Type == FieldType.FieldUnknown)
                    {
                        Field field2 = class2.method_54().Pop();
                        (A_0.method_13() as Paragraph).method_20(field2);
                        field2 = smethod_7(field2.Code, A_0.Interface50.imethod_0());
                        if (A_1 != null)
                        {
                            field2.ApplyCharacterFormat(A_1);
                        }
                        field2.IsLocked = class2.method_55();
                        class2.method_56(false);
                        A_0.method_9(field2);
                        if (class2.method_57() != field2)
                        {
                            class2.method_54().Push(field2);
                        }
                    }
                }
                else
                {
                    TextRange range = new TextRange(A_0.Interface50.imethod_0());
                    if (A_1 != null)
                    {
                        range.ApplyCharacterFormat(A_1);
                    }
                    range.Text = str2;
                    A_0.method_9(range);
                }
                return;
            }
            if (A_1 != null)
            {
                field.CharacterFormat.method_73(A_1);
            }
            field.IsLocked = class2.method_55();
            class2.method_56(false);
            A_0.method_9(field);
            class2.method_54().Push(field);
        }
    }
Example #6
0
        public void fun()
        {
            //创建Word文档
            Document document = new Document();
            //添加section
            Section section = document.AddSection();
            //
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("订单编号");
            dataTable.Columns.Add("客户名称");
            dataTable.Columns.Add("型号");
            dataTable.Columns.Add("种类");
            dataTable.Columns.Add("颜色");
            dataTable.Columns.Add("数量");
            dataTable.Columns.Add("单价");
            dataTable.Columns.Add("总金额");
            dataTable.Columns.Add("其它");
            for (int i = 0; i < 10; i++)
            {
                DataRow dr = dataTable.NewRow();
                dr["订单编号"] = "12312312312"; dr["客户名称"] = "周杰伦"; dr["型号"] = "123141";
                dr["种类"]   = "123141"; dr["颜色"] = "123141"; dr["数量"] = 123141;
                dr["单价"]   = 123141.99; dr["总金额"] = 123141.99; dr["其它"] = "123141";
                dataTable.Rows.Add(dr);
            }

            Paragraph para1 = section.AddParagraph();

            para1.AppendText("硕麒拉链码庄送货单");
            para1.Format.HorizontalAlignment = HorizontalAlignment.Center;
            para1.AppendBreak(BreakType.LineBreak);
            ParagraphStyle style1 = new ParagraphStyle(document);

            style1.Name = "titleStyle";
            style1.CharacterFormat.Bold             = true;
            style1.CharacterFormat.TextColor        = Color.Black;
            style1.CharacterFormat.FontName         = "黑体";
            style1.CharacterFormat.FontSize         = 26f;
            style1.CharacterFormat.CharacterSpacing = document.Styles.Add(style1);
            para1.ApplyStyle("titleStyle");


            //   添加表格  表格样式
            Table table = section.AddTable(true);

            //指定表格的行数和列数()
            table.ResetCells(9 + dataTable.Rows.Count, 9);


            //固定项 样式
            CharacterFormat charactertitle = new CharacterFormat(document);

            charactertitle.Bold      = true;
            charactertitle.FontSize  = 15;
            charactertitle.TextColor = Color.Black;
            charactertitle.FontName  = "黑体";

            TextRange range = table[0, 0].AddParagraph().AppendText("客户姓名");

            range.ApplyCharacterFormat(charactertitle);
            TextRange range1 = table[1, 0].AddParagraph().AppendText("电话");

            range1.ApplyCharacterFormat(charactertitle);
            TextRange range3 = table[0, 5].AddParagraph().AppendText("单号");

            range3.ApplyCharacterFormat(charactertitle);
            TextRange range4 = table[1, 5].AddParagraph().AppendText("开票日期");

            range4.ApplyCharacterFormat(charactertitle);
            TextRange ra1 = table[3, 0].AddParagraph().AppendText("序号");

            ra1.ApplyCharacterFormat(charactertitle);
            TextRange ra2 = table[3, 1].AddParagraph().AppendText("系统编号");

            ra2.ApplyCharacterFormat(charactertitle);
            TextRange ra3 = table[3, 2].AddParagraph().AppendText("型号");

            ra3.ApplyCharacterFormat(charactertitle);
            TextRange ra4 = table[3, 3].AddParagraph().AppendText("种类");

            ra4.ApplyCharacterFormat(charactertitle);
            TextRange ra5 = table[3, 4].AddParagraph().AppendText("颜色");

            ra5.ApplyCharacterFormat(charactertitle);
            TextRange ra6 = table[3, 5].AddParagraph().AppendText("数量");

            ra6.ApplyCharacterFormat(charactertitle);
            TextRange ra7 = table[3, 6].AddParagraph().AppendText("单价(元)");

            ra7.ApplyCharacterFormat(charactertitle);
            TextRange ra8 = table[3, 7].AddParagraph().AppendText("总金额(元)");

            ra8.ApplyCharacterFormat(charactertitle);
            TextRange ra9 = table[3, 8].AddParagraph().AppendText("备注");

            ra9.ApplyCharacterFormat(charactertitle);
            // 空一行出来
            table.ApplyHorizontalMerge(2, 0, 8);

            // 尾部 第一行3列
            table.ApplyHorizontalMerge(dataTable.Rows.Count + 5, 2, 8);
            TextRange ra10 = table[dataTable.Rows.Count + 5, 0].AddParagraph().AppendText("未付款");

            ra10.ApplyCharacterFormat(charactertitle);
            TextRange ra11 = table[dataTable.Rows.Count + 5, 1].AddParagraph().AppendText("合计");

            ra11.ApplyCharacterFormat(charactertitle);
            // 总金额  —— 数字形式
            TextRange ra12 = table[dataTable.Rows.Count + 5, 2].AddParagraph().AppendText("99999  (元)");

            ra12.ApplyCharacterFormat(charactertitle);

            // 尾部第二行 2列
            table.ApplyHorizontalMerge(dataTable.Rows.Count + 6, 0, 1);
            TextRange ra13 = table[dataTable.Rows.Count + 6, 0].AddParagraph().AppendText("大写金额");

            ra13.ApplyCharacterFormat(charactertitle);
            // 待写入大写金额
            ExportToWord word = new ExportToWord();

            table.ApplyHorizontalMerge(dataTable.Rows.Count + 6, 2, 8);
            TextRange ra14 = table[dataTable.Rows.Count + 6, 2].AddParagraph().AppendText(word.ConvertSum("8888.88"));

            Console.WriteLine(word.ConvertSum("8888.88"));
            ra14.ApplyCharacterFormat(charactertitle);

            // 尾部第3行 1列
            table.ApplyHorizontalMerge(dataTable.Rows.Count + 7, 0, 8);
            TextRange ra15 = table[dataTable.Rows.Count + 7, 0].AddParagraph().AppendText("地址: 汉川市新河汉正大道思嘉工业园       电话 : 0712-8105088");

            ra15.ApplyCharacterFormat(charactertitle);

            // 尾部第4行 2列
            table.ApplyHorizontalMerge(dataTable.Rows.Count + 8, 0, 4);
            table.ApplyHorizontalMerge(dataTable.Rows.Count + 8, 5, 8);
            TextRange ra16 = table[dataTable.Rows.Count + 8, 0].AddParagraph().AppendText("制单: ");

            ra16.ApplyCharacterFormat(charactertitle);
            TextRange ra17 = table[dataTable.Rows.Count + 8, 5].AddParagraph().AppendText("客户签名: ");

            ra17.ApplyCharacterFormat(charactertitle);


            // 待填充部分
            // 姓名
            table.ApplyHorizontalMerge(0, 1, 4);
            TextRange r1 = table[0, 1].AddParagraph().AppendText("周杰伦");

            r1.ApplyCharacterFormat(charactertitle);
            // 单号
            table.ApplyHorizontalMerge(0, 6, 8);
            TextRange r2 = table[0, 6].AddParagraph().AppendText("CL-2018-01-01");

            r2.ApplyCharacterFormat(charactertitle);
            // 电话
            table.ApplyHorizontalMerge(1, 1, 4);
            TextRange r3 = table[1, 1].AddParagraph().AppendText("15072464246");

            r3.ApplyCharacterFormat(charactertitle);
            // 开票日期
            table.ApplyHorizontalMerge(1, 6, 8);
            TextRange r4 = table[1, 6].AddParagraph().AppendText("2018-01-01");

            r4.ApplyCharacterFormat(charactertitle);



            // 添加的数据完毕
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                table[i + 4, 0].AddParagraph().AppendText(i + "");
                DataRow rows = dataTable.Rows[i];
                int     temp = 1;
                for (int j = 0; j < 9; j++)
                {
                    if (j != 1)
                    {
                        table[i + 4, temp].AddParagraph().AppendText(rows[j].ToString());
                        temp++;
                    }
                }
            }

            // 单元格样式
            table[0, 0].CellFormat.FitText = true;
            table[5 + dataTable.Rows.Count, 0].CellFormat.FitText = true;  // 未付款
            //table[8 + dataTable.Rows.Count, 5].CellFormat.FitText = true;
            for (int i = 3; i < 5 + dataTable.Rows.Count; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    table[i, j].CellFormat.FitText = true;
                    table.DefaultRowHeight         = 25;
                }
            }

            //保存文档
            document.SaveToFile("C:\\Users\\answer\\Desktop\\Table.docx");
        }
Example #7
0
    private void imethod_12(string A_0, CharacterFormat A_1)
    {
        int   num    = 0x11;
        Break @break = null;

        if (A_0.Length == 1)
        {
            switch (A_0[0])
            {
            case '\v':
            case '\r':
                @break = new Break(this.document_0, BreakType.LineBreak)
                {
                    TextRange = { Text = BookmarkStart.b("㰶", num) },
                    ClearType = (LineBreakClear)A_1.method_52(0x2d)
                };
                if (A_0[0] == '\r')
                {
                    @break.IsCrBreak = true;
                }
                break;

            case '\f':
                @break = new Break(this.document_0, BreakType.PageBreak);
                break;

            case '\x000e':
                @break = new Break(this.document_0, BreakType.ColumnBreak);
                break;
            }
            if (@break != null)
            {
                @break.TextRange.CharacterFormat.method_73(A_1);
            }
        }
        if ((this.stack_0.Count > 0) && (this.stack_0.Peek() is Field))
        {
            Field entity = this.stack_0.Peek() as Field;
            int   index  = -1;
            if (entity.NextSibling == null)
            {
                index = this.documentObject_0.ChildObjects.IndexOf(entity);
            }
            if (((index > -1) && (index == (this.documentObject_0.ChildObjects.Count - 1))) && (this.fieldCharType_0 == FieldCharType.Begin))
            {
                entity.Code = entity.Code + A_0;
                entity.CharacterFormat.method_25(A_1);
            }
            else if (entity.Type == FieldType.FieldMergeField)
            {
                TextRange range = entity;
                if (range.Text == string.Empty)
                {
                    range.Text = A_0;
                    range.ApplyCharacterFormat(A_1);
                }
                else
                {
                    range.Text = range.Text + A_0;
                }
            }
            else
            {
                this.documentObject_0.method_13((@break == null) ? ((IDocumentObject) new TextRange(this.document_0, A_0, A_1)) : ((IDocumentObject)@break));
            }
        }
        else
        {
            this.documentObject_0.method_13((@break == null) ? ((IDocumentObject) new TextRange(this.document_0, A_0, A_1)) : ((IDocumentObject)@break));
        }
    }
Example #8
0
    private void imethod_17(CharacterFormat A_0, bool A_1, bool A_2)
    {
        Field field = this.stack_0.Peek() as Field;

        if (field.IsRuby)
        {
            Class2 class2 = new Class2(this.documentObject_0.Document);
            class2.method_60(field.Code);
            if ((this.documentObject_0.LastChild is Field) && (this.documentObject_0.LastChild as Field).IsRuby)
            {
                this.documentObject_0.method_20(this.documentObject_0.LastChild);
            }
            this.documentObject_0.method_13(class2);
            class2.ApplyCharacterFormat(A_0);
            this.stack_0.Pop();
        }
        else
        {
            field.IsLocked = A_1;
            field.IsDirty  = A_2;
            FieldType type = Class819.smethod_2(field.Code);
            if (type != FieldType.FieldUnknown)
            {
                field.Type = type;
            }
            if (((field.Type == FieldType.FieldNumPages) || (field.Type == FieldType.FieldPage)) && ((this.documentObject_0.ChildObjects.Count > 0) && (this.documentObject_0.LastChild == field)))
            {
                this.class764_0.method_43().imethod_16(A_0, null);
                TextRange range = new TextRange(this.documentObject_0.Document)
                {
                    Text = string.Empty
                };
                range.ApplyCharacterFormat(field.CharacterFormat);
                this.documentObject_0.method_13(range);
            }
            if (field.Type != FieldType.FieldMergeField)
            {
                FieldMark mark = new FieldMark(this.document_0, A_0, FieldMarkType.FieldEnd);
                this.documentObject_0.method_13(mark);
                field.End = mark;
            }
            field.UpdateFieldCode(field.Code);
            if ((field.Type == FieldType.FieldDate) || (field.Type == FieldType.FieldTime))
            {
                field.method_49();
            }
            this.stack_0.Pop();
            this.fieldCharType_0 = FieldCharType.End;
            Class454 class3 = null;
            if (((field.Type == FieldType.FieldEmbed) || (field.Type == FieldType.FieldLink)) && (this.stack_2.Count > 0))
            {
                if (this.stack_1.Count > 0)
                {
                    class3 = this.stack_1.Pop();
                }
                this.method_6(field, class3);
            }
            if (field.Type == FieldType.FieldShape)
            {
                this.method_5(field);
            }
        }
    }
Example #9
0
        // 客户名  总金额
        public void ExportToWordFun(System.Data.DataTable dataTable, String name, double sum)
        {
            System.Windows.Forms.SaveFileDialog saveDia = new SaveFileDialog();
            saveDia.Filter   = "Word|*.docx";
            saveDia.Title    = "导出为Word文件";
            saveDia.FileName = DateTime.Now.ToString("yyyyMMddhhss") + name;
            if (saveDia.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
                !string.Empty.Equals(saveDia.FileName))
            {
                MysqlManager mysqlManager = new MysqlManager();
                String       phone        = mysqlManager.getPhone(name);
                if (phone == null)
                {
                    phone = "00000000000";
                }

                //创建Word文档
                Document document = new Document();
                //添加section
                Section section = document.AddSection();

                section.PageSetup.PageSize = new System.Drawing.SizeF(600, 420);
                //section.PageSetup.PageSize = PageSize.A4;
                section.PageSetup.Orientation = PageOrientation.Landscape;

                Paragraph para1 = section.AddParagraph();
                para1.AppendText("硕麒拉链码庄送货单");
                para1.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                para1.AppendBreak(BreakType.LineBreak);
                ParagraphStyle style1 = new ParagraphStyle(document);
                style1.Name = "titleStyle";
                style1.CharacterFormat.Bold             = true;
                style1.CharacterFormat.TextColor        = Color.Black;
                style1.CharacterFormat.FontName         = "黑体";
                style1.CharacterFormat.FontSize         = 18f;
                style1.CharacterFormat.CharacterSpacing = document.Styles.Add(style1);
                para1.ApplyStyle("titleStyle");


                //   添加表格  表格样式
                Table table = section.AddTable(true);
                //指定表格的行数和列数()
                table.ResetCells(9 + dataTable.Rows.Count, 9);


                //固定项 样式
                CharacterFormat charactertitle = new CharacterFormat(document);
                charactertitle.Bold      = true;
                charactertitle.FontSize  = 13;
                charactertitle.TextColor = Color.Black;
                charactertitle.FontName  = "黑体";

                TextRange range = table[0, 0].AddParagraph().AppendText("客户姓名");
                range.ApplyCharacterFormat(charactertitle);
                TextRange range1 = table[1, 0].AddParagraph().AppendText("客户电话");
                range1.ApplyCharacterFormat(charactertitle);
                TextRange range3 = table[0, 5].AddParagraph().AppendText("单号");
                range3.ApplyCharacterFormat(charactertitle);
                TextRange range4 = table[1, 5].AddParagraph().AppendText("开票日期");
                range4.ApplyCharacterFormat(charactertitle);

                TextRange ra1 = table[3, 0].AddParagraph().AppendText("序号");
                ra1.ApplyCharacterFormat(charactertitle);
                TextRange ra2 = table[3, 1].AddParagraph().AppendText("系统编号");
                ra2.ApplyCharacterFormat(charactertitle);
                TextRange ra3 = table[3, 2].AddParagraph().AppendText("型号");
                ra3.ApplyCharacterFormat(charactertitle);
                TextRange ra4 = table[3, 3].AddParagraph().AppendText("种类");
                ra4.ApplyCharacterFormat(charactertitle);
                TextRange ra5 = table[3, 4].AddParagraph().AppendText("颜色");
                ra5.ApplyCharacterFormat(charactertitle);
                TextRange ra6 = table[3, 5].AddParagraph().AppendText("数量");
                ra6.ApplyCharacterFormat(charactertitle);
                TextRange ra7 = table[3, 6].AddParagraph().AppendText("单价(元)");
                ra7.ApplyCharacterFormat(charactertitle);
                TextRange ra8 = table[3, 7].AddParagraph().AppendText("金额(元)");
                ra8.ApplyCharacterFormat(charactertitle);
                TextRange ra9 = table[3, 8].AddParagraph().AppendText("备注");
                ra9.ApplyCharacterFormat(charactertitle);
                // 空一行出来
                table.ApplyHorizontalMerge(2, 0, 8);

                // 尾部 第一行3列
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 5, 2, 8);
                TextRange ra10 = table[dataTable.Rows.Count + 5, 0].AddParagraph().AppendText("未付款");
                ra10.ApplyCharacterFormat(charactertitle);
                TextRange ra11 = table[dataTable.Rows.Count + 5, 1].AddParagraph().AppendText("合计金额");
                ra11.ApplyCharacterFormat(charactertitle);
                //                待填入   总金额  —— 数字形式
                TextRange ra12 = table[dataTable.Rows.Count + 5, 2].AddParagraph().AppendText(sum + "(元)");
                ra12.ApplyCharacterFormat(charactertitle);

                // 尾部第二行 2列
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 6, 0, 1);
                TextRange ra13 = table[dataTable.Rows.Count + 6, 0].AddParagraph().AppendText("大写金额");
                ra13.ApplyCharacterFormat(charactertitle);
                //                   待填入   写入大写金额
                ExportToWord word = new ExportToWord();
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 6, 2, 8);
                TextRange ra14 = table[dataTable.Rows.Count + 6, 2].AddParagraph().AppendText(word.ConvertSum(sum.ToString()));
                //Console.WriteLine(word.ConvertSum("8888.88"));
                ra14.ApplyCharacterFormat(charactertitle);

                // 尾部第3行 1列
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 7, 0, 8);
                TextRange ra15 = table[dataTable.Rows.Count + 7, 0].AddParagraph().AppendText("地址: 汉川市新河汉正大道思嘉工业园       电话 : 0712-8105088");
                ra15.ApplyCharacterFormat(charactertitle);

                // 尾部第4行 2列
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 8, 0, 4);
                table.ApplyHorizontalMerge(dataTable.Rows.Count + 8, 5, 8);
                TextRange ra16 = table[dataTable.Rows.Count + 8, 0].AddParagraph().AppendText("制单: ");
                ra16.ApplyCharacterFormat(charactertitle);
                TextRange ra17 = table[dataTable.Rows.Count + 8, 5].AddParagraph().AppendText("客户签名: ");
                ra17.ApplyCharacterFormat(charactertitle);


                // 待填充部分
                // 姓名
                table.ApplyHorizontalMerge(0, 1, 4);
                TextRange r1 = table[0, 1].AddParagraph().AppendText(name);
                r1.ApplyCharacterFormat(charactertitle);
                // 单号
                table.ApplyHorizontalMerge(0, 6, 8);
                Encoding  gb2312 = Encoding.GetEncoding("GB2312");
                String    s      = Pinyin.ConvertEncoding(name, Encoding.UTF8, gb2312);
                String    s1     = Pinyin.GetInitials(s, gb2312);
                TextRange r2     = table[0, 6].AddParagraph().AppendText(s1 + "-" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + mysqlManager.getGuestOrderCount(name));
                r2.ApplyCharacterFormat(charactertitle);
                // 电话
                table.ApplyHorizontalMerge(1, 1, 4);
                TextRange r3 = table[1, 1].AddParagraph().AppendText(phone);
                r3.ApplyCharacterFormat(charactertitle);
                // 开票日期
                table.ApplyHorizontalMerge(1, 6, 8);
                TextRange r4 = table[1, 6].AddParagraph().AppendText(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " " + DateTime.Now.Hour + ":" + DateTime.Now.Minute);
                r4.ApplyCharacterFormat(charactertitle);
                // 添加的数据完毕
                for (int i = 0; i < dataTable.Rows.Count; i++)
                {
                    table[i + 4, 0].AddParagraph().AppendText((i + 1) + "");
                    DataRow rows = dataTable.Rows[i];
                    int     temp = 1;
                    for (int j = 0; j < 9; j++)
                    {
                        if (j != 1)
                        {
                            table[i + 4, temp].AddParagraph().AppendText(rows[j].ToString());
                            temp++;
                        }
                    }
                }
                // 单元格样式
                table[0, 0].CellFormat.FitText = true;
                table[5 + dataTable.Rows.Count, 0].CellFormat.FitText = true;  // 未付款
                // 单元格高度设定
                //for (int i = 0; i < 9 + dataTable.Rows.Count; i++) {
                //    table.Rows[i].Height = 30;
                //}

                for (int i = 3; i < 5 + dataTable.Rows.Count; i++)
                {
                    for (int j = 0; j < 9; j++)
                    {
                        table[i, 1].CellFormat.FitText = true;
                    }
                }
                try
                {
                    //保存文档
                    document.SaveToFile(saveDia.FileName);
                    //doc.SaveToFile(saveDia.FileName, FileFormat.Docx2013);
                    MessageBox.Show("导出成功!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
                    return;
                }
            }
        }