RDLC从Excel或PDF导入数据

时间:2013-06-11 15:25:35

标签: .net import reporting rdlc

我有一个Excel和PDF文件,其中包含一个包含多列和多行以及粗体文本和背景颜色样式的表。我正在尝试做的是找到一种方法将其导入到RDLC报告中,这样我就不必创建一个表并手动输入所有这些都需要几个小时。

我不想将其保存为图像并以此方式抛出,因为缩放时的文本将不清晰。我问开发人员原始应用程序是如何做到的,他告诉我他将Excel文件保存为PDF并将其导入报告中。原始应用程序是在VBA中编码的,所以我不明白为什么Access VBA应用程序可以执行此操作,但.NET应用程序不能。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

他最有可能通过VBA运行Excel,因为您可以在.NET中使用Interop,但我不确定您是否可以将PDF文件导入RLDC报告,如果您对此感兴趣是使用interop:Saving file as PDF by using Microsoft.Office.Interop.Excel如何将Excel文件保存为PDF的示例,请注意您需要Excel 2007或更高版本才能使用此文件。

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

答案 1 :(得分: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;
        }
    }
}

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