0

我有一个 Excel 和一个 PDF 文件,其中包含一个包含多列和多行的表格,其中包含粗体文本和背景颜色样式。我想要做的是找到一种方法将其导入 RDLC 报告,这样我就不必创建表并手动输入所有内容,这将花费数小时。

我不想将它保存为图像并以这种方式扔它,因为缩放时的文本将不清晰。我问制作原始应用程序的开发人员他是如何做到的,他告诉我他将 Excel 文件保存为 PDF 并将其导入到报告中。原始应用程序是用 VBA 编码的,所以我不明白为什么 Access VBA 应用程序可以做到这一点,而 .NET 应用程序却不能。有任何想法吗?

4

2 回答 2

0

试试这个代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            ExtractTextFromPDFPage("c:\sample.pdf", 1);
        }

        public void ExtractTextFromPDFPage(string pdfFile, int pageNumber)
        {
            PdfReader reader = new PdfReader(pdfFile);
            string text = PdfTextExtractor.GetTextFromPage(reader, pageNumber);
            try { reader.Close(); }
            catch { }
            richTextBox1.Text = text;
        }
    }
}

从http://en.sourceforge.jp/projects/sfnet_itextsharp/releases/下载 iTextSharp dll添加到参考

于 2014-11-10T06:45:09.780 回答
0

他很可能通过 VBA 运行 Excel,对于同样的方法,您可以在 .NET 中使用 Interop,但我不确定您是否可以将 PDF 文件导入 RLDC 报告,如果您有兴趣,这里有一个如何保存的示例使用互操作将 Excel 文件保存为 PDF:使用 Microsoft.Office.Interop.Excel 将文件另存为 PDF,请注意,您需要 Excel 2007 或更高版本才能正常工作。

还有另一种可能更适合您的方法,特别是如果 Excel 文件具有类似表的结构,并且正在使用 OLE DB 连接到 Excel 以使用 Excel 作为数据库,为此,您可以在此处找到适当的连接字符串:http:/ /www.connectionstrings.com/excel

于 2013-06-14T14:38:01.470 回答