У меня есть следующая тестовая таблица в Word, с одной ячейкой, имеющей многоуровневый список:
![enter image description here](https://i.stack.imgur.com/vb8O4.png)
Используя приведенный ниже код, я могу скопировать ячейки из таблицы Word в соответствующую ячейку на листе Excel:
foreach (Microsoft.Office.Interop.Word.Table table in objDoc.Tables)
{
for (int row = 1; row <= table.Rows.Count; row++)
{
for (int col = 1; col <= table.Columns.Count; col++)
{
string text = table.Cell(row, col).Range.Text;
worksheet.Cells[row, col] = text;
}
}
}
Однако я получаю следующий результат, когда ячейка Word, содержащая список, не копируется должным образом в Excel:
![enter image description here](https://i.stack.imgur.com/eFXUX.png)
Я также попробовал следующее:
worksheet.Cells[row, col] = table.Cell(row, col).Range.FormattedText;
Но я получаю те же результаты.
Я также попытался преобразовать список в файле Word, скопировав и вставив с помощью параметра «Сохранить только текст», чтобы удалить автоматическое форматирование Word, и вручную удалить вкладки. Это дало этот результат:
![enter image description here](https://i.stack.imgur.com/EZRjs.png)
Хотя я могу получить текст с номерами списка, я не получаю возврат каретки, разрыв строки или перевод строки, чтобы отделить элементы списка.
По крайней мере, я хотел бы сохранить нумерацию списка и разрывы строк без необходимости вырезать / вставлять вручную с помощью параметра «Сохранить только текст»; и я хочу избежать необходимости разбирать текст для номеров списка (которые могут быть числами или буквами) и вставлять переводы строк.