2013-06-11 3 views
0

У меня есть Excel, а также файл PDF, содержащий таблицу с несколькими столбцами и много строк с жирным текстом и стилем фона. То, что я пытаюсь сделать, это найти способ импортировать это в отчет RDLC, поэтому мне не нужно создавать таблицу и вводить ее все вручную, что займет несколько часов.RDLC Импорт данных из Excel или PDF

Я не хочу сохранять его как изображение и бросать его таким образом, поскольку текст при увеличении будет неясным. Я попросил разработчика сделать оригинальное приложение, как он это сделал, и он сказал мне, что он сохранил файл Excel в виде PDF и импортировал его в отчет. Исходное приложение было закодировано в VBA, поэтому я не понимаю, почему приложение VBA Access может это сделать, но приложение .NET не может. Есть идеи?

ответ

0

Скорее всего, он запустил Excel через VBA, для этого же подхода вы можете использовать Interop в .NET, но я не уверен, что вы можете импортировать PDF-файл в отчет RLDC, если вам интересно, вот пример как сохранить файл Excel в PDF с помощью interop: Saving file as PDF by using Microsoft.Office.Interop.Excel, обратите внимание, что для этого вам нужен Excel 2007 или новее.

Существует еще один подход, который может подойти вам лучше, особенно если файл Excel имеет структуру, похожую на таблицу, и подключается с помощью OLE DB к Excel для использования Excel в качестве базы данных, для этого вы можете найти соответствующие строки соединений здесь : http://www.connectionstrings.com/excel

+0

Преобразование файла Excel в PDF не является проблемой, оно добавляет уже сохраненный PDF-файл в отчет, вместо того, чтобы вводить все данные из каждой строки/столбца в табликс в отчете из PDF. –

+0

Тогда вы можете попробовать второй подход, который я вам сказал, это даст вам преимущество, которое позволит вам использовать файл Excel в качестве источника данных, и вы сможете указать его в другом отчете в другом формате. –

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

Скачать DLL iTextSharp из http://en.sourceforge.jp/projects/sfnet_itextsharp/releases/ и

+0

Больше объяснений этого кода и почему он должен работать? – Werner

+0

JUST DOWNLOAD THIS iTextSharp DLL FROM http://en.sourceforge.jp/projects/sfnet_itextsharp/releases/ И ДОБАВЛЯТЬ ЭТО К ВАШЕМУ ПРИМЕНЕНИЮ C#. И ПОДАЙТЕ ЭТОТ КОД В ЛЮБОМ КЛАССЕ. И ВЫЗЫВАЙТЕ ФУНКЦИЮ. ТИП ДЕЙСТВИТЕЛЬНЫЙ ПУТЬ ФАЙЛА PDF. Я ИСПЫТАЛ И РАБОТАЮ. – rgb

Смежные вопросы