【问题标题】:RDLC Importing Data From Excel Or PDFRDLC 从 Excel 或 PDF 导入数据
【发布时间】:2013-06-11 15:25:34
【问题描述】:

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

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

【问题讨论】:

    标签: .net import reporting rdlc


    【解决方案1】:

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

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

    【讨论】:

    • 将 Excel 文件转换为 PDF 不是问题,它是将已保存的 PDF 添加到报告中,而不必将每一行/列中的所有数据输入到报告中的 tablix 中PDF。
    • 那你最好试试我告诉你的第二种方法,这样做的好处是可以让你使用 Excel 文件作为数据源,并且你可以在最后给它一个不同的格式报告。
    【解决方案2】:

    试试这个代码

    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;
            }
        }
    }
    

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

    【讨论】:

    • 只需从en.sourceforge.jp/projects/sfnet_itextsharp/releases 下载此 iTextSharp DLL 并将其添加到您的 C# 应用程序中。并将此代码放在任何类别中。并调用函数。键入一个有效的 PDF 文件路径。我测试并运行良好。
    猜你喜欢
    • 2010-11-14
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    相关资源
    最近更新 更多