Импорт данных документа Word в отчет RDLC - PullRequest
0 голосов
/ 12 октября 2018

Цель

Добавление данных документа Word (текста, маркеров, изображений) в отчет RDLC.

Попытка

В настоящее время я ( безуспешно )) добавить данные документа Word в конец отчета через ReportParameter.

...

ReportViewer1.LocalReport.SetParameters(New ReportParameter("rpReportTemplate", GetWordData(WordDocumentPath)))

...

Public Function GetWordData(ByVal wordPath As String) As String
    Dim MyWord As Microsoft.Office.Interop.Word.Application
    Dim sConvertedString As String = ""

    MyWord = CreateObject("Word.application")
    MyWord.Visible = False
    MyWord.Documents.Open(wordPath)
    MyWord.Windows(1).Selection.WholeStory()
    MyWord.Windows(1).Selection.Copy()
    MyWord.Quit()

    sConvertedString = Clipboard.GetData(DataFormats.Html)
    Return sConvertedString
End Function

Я не могу добавить изображения в отчет.Я получаю некоторый нечетный текст HTML, и я также получаю нечетные текстовые символы:

Версия: 1.0 StartHTML: 0000000207 EndHTML: 0000068119 StartFragment: 0000047434 EndFragment: 0000068079 SourceURL: file: // server1 / folder1 / file1.docx

• 1018 *

Можно ли импортировать шаблон Word в отчет RDLC?

1 Ответ

0 голосов
/ 22 октября 2018

Попробуйте это

protected void Page_Load(object sender, EventArgs e)
    {
        LocalReport report = new LocalReport();
        report.ReportPath = "Report1.rdlc";
        ReportDataSource rds = new ReportDataSource();
        rds.Name = "DataSet1";
        //This refers to the dataset name in the RDLC file
        rds.Value = EmployeeRepository.GetAllEmployees();
        report.DataSources.Add(rds);
        Byte[] mybytes = report.Render("WORD");
        //Byte[] mybytes = report.Render("PDF"); for exporting to PDF
        using (FileStream fs = File.Create(@"D:\wordfile.doc"))
        {
            fs.Write(mybytes, 0, mybytes.Length);
        }
    }

и экспорт отчета rdlc в файл слова

...