.net RDLC从Excel或PDF导入数据
我有一个Excel和PDF文件,其中包含一个具有多个列和多个行的表格,其中包含粗体文本和背景色样式。我想做的是找到一种方法将其导入到RDLC报告中,这样我就不必创建一个表并手动键入它,这将花费数小时的时间.net RDLC从Excel或PDF导入数据,.net,import,reporting,rdlc,.net,Import,Reporting,Rdlc,我有一个Excel和PDF文件,其中包含一个具有多个列和多个行的表格,其中包含粗体文本和背景色样式。我想做的是找到一种方法将其导入到RDLC报告中,这样我就不必创建一个表并手动键入它,这将花费数小时的时间 我不想将其保存为图像,并以这种方式抛出,因为缩放后的文本将不清晰。我问制作原始应用程序的开发人员他是如何做到的,他告诉我他将Excel文件保存为PDF格式,并将其导入到报告中。最初的应用程序是用VBA编码的,所以我不明白为什么Access VBA应用程序可以这样做,而.NET应用程序不能。有什
我不想将其保存为图像,并以这种方式抛出,因为缩放后的文本将不清晰。我问制作原始应用程序的开发人员他是如何做到的,他告诉我他将Excel文件保存为PDF格式,并将其导入到报告中。最初的应用程序是用VBA编码的,所以我不明白为什么Access VBA应用程序可以这样做,而.NET应用程序不能。有什么想法吗?他很可能是通过VBA运行Excel的,对于同样的方法,您可以在.NET中使用Interop,但我不确定您是否可以将PDF文件导入RLDC报告,如果您感兴趣,这里有一个如何使用Interop将Excel文件保存为PDF的示例:,请注意,您需要Excel 2007或更高版本才能工作
还有另一种方法可能更适合您,特别是如果Excel文件具有类似表格的结构,并且正在使用OLE DB连接到Excel以将Excel用作数据库,那么,您可以在此处找到合适的连接字符串:尝试此代码
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;
}
}
}
从
而添加到引用将Excel文件转换为PDF不是问题所在,而是将已保存的PDF添加到报表中,而不必将每行/每列的所有数据从PDF输入报表的表格中。然后,您最好尝试我告诉您的第二种方法,这样做的好处是,您可以使用Excel文件作为数据源,并且可以在最终报告中为其提供不同的格式。只需从下载此iTextSharp DLL并将其添加到您的C#应用程序中即可。并将此代码放入任何类中。并调用函数。键入有效的PDF文件路径。我做了测试,工作很好。