我有一个Excel和PDF文件,其中包含一个包含多列和多行以及粗体文本和背景颜色样式的表。我正在尝试做的是找到一种方法将其导入到RDLC报告中,这样我就不必创建一个表并手动输入所有这些都需要几个小时。
我不想将其保存为图像并以此方式抛出,因为缩放时的文本将不清晰。我问开发人员原始应用程序是如何做到的,他告诉我他将Excel文件保存为PDF并将其导入报告中。原始应用程序是在VBA中编码的,所以我不明白为什么Access VBA应用程序可以执行此操作,但.NET应用程序不能。有什么想法吗?
答案 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/ 和添加到参考