C# 实现Excel转Word、Word转PDF、合并PDF

本文介绍了如何使用C#进行Office文档转换,包括将Excel转换成Word,利用Word模板填充内容,将Word转换成PDF,以及合并多个PDF或Word文件为一个PDF。提供了具体的代码示例,如ExcelToWord方法、DatatableToWord方法、WORD_ConvertTo_PDF方法和MergePDF方法。
摘要由CSDN通过智能技术生成

1.Excel转Word实现如下

(1)第一种直接Excel表格转Word文档,当时试过了就相当于手动的复制粘贴,可以试试,如果不满足需求,可以试试第二种方法:

 public void ExcelToWord(string excPath, string wordPath)
        {
            FileStream fs1 = new FileStream(excPath, FileMode.Open);

            StreamReader m_streamReader = new StreamReader(fs1);

            m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);

            string strLine ="aa"; //m_streamReader.ReadLine();

            FileStream fs2 = new FileStream(wordPath, FileMode.Create, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs2, System.Text.Encoding.GetEncoding("GB2312"));
            sw.WriteLine(strLine);
        }

(2)这种方法是通过Word模板来创建Word文件,然后填充书签内容。(小编用的就是这种方法)

 /// <summary>
        /// 根据模板 创建案卷目录、卷内目录word版
        /// </summary>
        /// <param name="srcDgv">datatable</param>
        /// <param name="FileName">word保存文件地址</param>
        /// <param name="ArchivesNo"></param>
        /// <param name="wordPath">模板路径</param>
        /// <param name="typeName"></param>
        public void DatatableToWord(System.Data.DataTable srcDgv, string FileName, string ArchivesNo, string wordPath,string typeName)
        {
            string  path = FileName + ".doc";
            int rowStart =1;//添加数据起始行
            Report report = new Report();
            if (typeName == "卷内目录")
            {
                rowStart = 4;
                report.CreateNewDocument(wordPath + "JNML.doc");
                //向标签中插入值
                report.InsertValue("ArchivesNo", ArchivesNo);
            }
            else if (typeName == "案卷目录")
            {
                rowStart = 3;
                report.CreateNewDocument(wordPath + "AJML.doc");
            }
            if (srcDgv.Rows.Count > 15)
            {
                for (int i = 0; i < (srcDgv.Rows.Count-15) / 15 + 1; i++)
                {
                    report.AddRow( 1, 15);
                }
            }
            for (int i = 0; i < srcDgv.Rows.Count; i++)
            {
                string rowNum=(i+1).ToString();
                string[] cells = new string[srcDgv.Columns.Count];
                cells[0] = rowNum;
                for (int j = 1; j < srcDgv.Columns.Count; j++)
                {
                    cells[j] = srcDgv.Rows[i][j].ToString();
                }
                report.InsertCell(1, i + rowStart, srcDgv.Columns.Count, cells);
            }
            report.SaveDocument(path);
        }

 

2.Word转PDF

/// <summary>
        /// word转换方法
        /// </summary>
        /// <param name="sourcePath">源文件路径</param>
        /// <param name="targetPath">目标文件路径</param>
        /// <returns></returns>
        public bool WORD_ConvertTo_PDF(string sourcePath, string targetPath)
        {
            bool result = false;
            try
            {
                Aspose.Words.Document doc = new Aspose.Words.Document(sourcePath);
                doc.Save(targetPath, SaveF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值