Преобразование Word docx в Excel с помощью OpenXML

Есть ли способ конвертировать документ Word, где у меня есть некоторые таблицы в файл Excel? Было бы очень полезно преобразовать таблицы.

Что-то вроде того:

  • Открыть документ Word с помощью OpenXML
  • Найти все таблицы xml-tags
  • Скопировать xml-теги
  • Создать файл Excel
  • Вставить xml-теги с таблицей из Word в новый файл Excel

Я имею в виду

void OpenWordDoc(string filePath) { _documentWord = SpreadsheetDocument.Open(filePath, true); } List<string> GetAllTablesXMLTags() { //find and copy } List<string> CreateExcelFile(string filePath) { TemplateExcelDocument excelDocument = new TemplateExcelDocument(); _documentExcel = excelDocument.CreatePackage(filePath); } void InsertXmlTagsToExcelFile(string filePath) { CreateExcelFiles(filePath); var xmlTable = GetAllTablesXMLTags(); // ... insert to _documentExcel } 

ваши шаги верны.

Я хотел бы поделиться некоторыми документами sdk, надеюсь, что это может помочь в некоторой степени:

Open XML SDK 2.5 для Office

При обработке таблиц слов:

Работа с таблицами WordprocessingML (Open XML SDK)

При обработке таблиц excel:

Работа с общей строковой таблицей (Open XML SDK)

Работа со таблицами SpreadsheetML (Open XML SDK)

для получения всех таблиц в файле docx вы можете использовать следующий код:

 using System; using Independentsoft.Office; using Independentsoft.Office.Word; using Independentsoft.Office.Word.Tables; namespace Sample { class Program { static void Main(string[] args) { WordDocument doc = new WordDocument("c:\\test.docx"); Table[] tables = doc.GetTables(); foreach (Table table in tables) { //read data } } } } 

И чтобы записать их в файл excel, вы должны сделать это для каждой ячейки:

  app.Visible = false; workbooks = app.Workbooks; workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet); sheets = workbook.Worksheets; worksheet = (_Worksheet)sheets.get_Item(1); excel(row, column, "value"); workbook.Saved = true; workbook.SaveAs(output_file); app.UserControl = false; app.Quit(); 

и, наконец, функция excel следующая:

  public void excel(int row, int column, string value) { worksheet.Cells[row, column] = value; } 

Также вы можете использовать CSV или HTML формат для создания файла excel. для этого просто создайте файл example.xlsx с этим контентом для запятой CSV:

col1, col2, col3, col4 \ n

val1, val2, val3val4 \ n

или в формате HTML:

 <table> <tr> <td>col1</td> <td>col2</td> <td>col3</td> </tr> <tr> <td>val1</td> <td>val2</td> <td>val3</td> </tr> </table> 
  • Экспорт в Excel с использованием OpenXML и C #, целых чисел и даты
  • чтение формулы из таблицы с помощью openxml
  • Цвет текста в Excel> 255 символов
  • Создайте таблицу HTML и откройте ее в Excel с сохранением стиля
  • oledb vs excel interop vs open xml vs управления доступом к данным для чтения больших данных Excel в .net
  • создать отчет из шаблона с использованием C # excel OpenXML API
  • Как добавить новую ячейку в существующую строку в файле .xlsx с помощью открытого xml sdk?
  • OpenXML Просмотр данных в пустых ячейках?
  • OpenKML SDK Стартовые комплекты
  • Использование шаблона Excel Excel с помощью Open xml с использованием метода SAX. Hellp me
  • Получите используемый диапазон электронной таблицы Open XML на английских метрических единицах (ЭВС)
  • Interesting Posts

    Динамическое изменение ячеек из результатов выпадающего списка в excel

    Значение Excel VBA комбинированного поля отличается от текста

    Поиск минимального значения в одном столбце для всех строк с одинаковым значением в другом столбце

    Kendo Grid excel Экспорт не работает на хроме для записей 27K, но работает для FF

    Управление Excel через Midi-контроллер

    VBA Excel вычисляет медленно

    Функция Excel Group – вставка строк

    степенная кривая подгонка scipy, numpy не работает

    Чтение файла csv в C #

    Обращение к листам данных

    Операция не разрешена, когда объект закрыт. Создайте оператор таблицы в первой строке?

    Использование переменной при добавлении данных в поле «Значения» сводной диаграммы с использованием VBA

    Для каждой ячейки в столбце найдите остальную часть столбца для дубликата

    Генерация от html до xls. Предупреждение "Формат файла отличается от формата, который указывает расширение имени файла"

    Использование Apache POI для выравнивания заголовка Excel

    Давайте будем гением компьютера.