Open XML SDK Открыть и сохранить не работает - PullRequest
0 голосов
/ 24 апреля 2018

У меня проблемы с открытием и сохранением текстовых документов Open XML SDK.

Я использую следующий код (VB.Net):

        Try
        'Set Path
        Dim openPath As String = "../Documents/" & worddoc
        Dim savePath As String = "\\web-dev-1\HR_Documents\" & worddoc
        Using doc As WordprocessingDocument = WordprocessingDocument.Open("/Documents/" & worddoc, True)
            'Employee Name Insert
            'Find first table in document
            Dim tbl1 As Table = doc.MainDocumentPart.Document.Body.Elements(Of Table).First()
            'First Row in tbl
            Dim row As TableRow = tbl1.Elements(Of TableRow)().ElementAt(0)
            'Find first cell in row
            Dim cell As TableCell = row.Elements(Of TableCell)().ElementAt(0)
            'Insert selected Employee Name
            Dim p As Paragraph = cell.Elements(Of Paragraph)().First()
            Dim r As Run = p.Elements(Of Run)().First()
            Dim txt As Text = r.Elements(Of Text)().First()
            txt.Text = ddlEmployeeList.SelectedItem.Text
            'Save File
            'Supervisor Name Insert
            'Find second table in document
            Dim tbl2 As Table = doc.MainDocumentPart.Document.Body.Elements(Of Table).First()
            'First Row in tbl
            Dim row2 As TableRow = tbl2.Elements(Of TableRow)().ElementAt(0)
            'Find first cell in row
            Dim cell2 As TableCell = row2.Elements(Of TableCell)().ElementAt(0)
            'Insert selected Employee Name
            Dim p2 As Paragraph = cell2.Elements(Of Paragraph)().First()
            Dim r2 As Run = p2.Elements(Of Run)().First()
            Dim txt2 As Text = r2.Elements(Of Text)().First()
            txt2.Text = ddlSupervisorList.SelectedItem.Text
        End Using
        Return 1
    Catch ex As Exception
        Return Nothing
    End Try

Проблема начинается сПервое использование заявления.Выдает следующую ошибку:

Не удалось найти часть пути 'C: \ Documents \ Hourly_Employee_Performance_Review .docx

Я поместил слово документы в папку сайта ASP.NET.называется документами.Я также создал публичный общий ресурс на сервере dev, чтобы посмотреть, может ли это помочь.

Проблема в том, что он не использует предоставленную переменную пути.Я просмотрел документацию по OPEN XMl SDK, но все, о чем он говорит, - это заявление об использовании, его необходимость и использование для него.

Может кто-нибудь сказать мне, показать мне или указать на сайт, на котором есть примерыкак установить открытый путь и сохранить путь?

1 Ответ

0 голосов
/ 24 апреля 2018

Вам нужен путь к файлу, основанный на файловой системе, а не URL.Вы можете сделать это с помощью

Dim openPath As String = Path.Combine(Server.MapPath("~/Documents"), worddoc)

, а затем открыть файл:

Using doc As WordprocessingDocument = WordprocessingDocument.Open(openPath, True)

Похоже, что вам нужно будет сделать то же самое для местоположения, чтобы сохранить, но вы не сделалине говорите, если "\\ web-dev-1" другой сервер;если бы это потребовало других соображений.

(Не проверено, могут существовать некоторые опечатки. Вам понадобится Imports System.IO.)

...