C # Копировать несколько ячеек из Excel в Word в том же столбце - PullRequest
0 голосов
/ 08 июля 2019

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

I want to change "missing" into "credits" somehow but I really don't know how to correctly do it: 

app.Selection.Find.Execute ("credits", missing, missing, missing, missing, missing, missing, missing, missing, tmp [0], 2);


private void Button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = null;
object filename = "D:\\Exceltowordtemp\\report1.docx";
object missing = Type.Missing;
for (int i = 0; i < 2; i++)
{
doc = app.Documents.Open(filename, missing, missing);
app.Selection.Find.ClearFormatting();
app.Selection.Find.Replacement.ClearFormatting();

string[] tmp = new string[4];
tmp = readExcel(i);

app.Selection.Find.Execute("<credits>", missing, missing, missing, missing, missing, missing, missing, missing, tmp[0],2);
app.Selection.Find.Execute("<marks>", missing, missing, missing, missing, missing, missing, missing, missing, tmp[1],2);
app.Selection.Find.Execute("<ng>", missing, missing, missing, missing, missing, missing, missing, missing, tmp[2],2);
app.Selection.Find.Execute("<eg>", missing, missing, missing, missing, missing, missing, missing, missing, tmp[3],2);

object SaveAsFile = (object)"D:\\Exceltowordtemp\\outcomes" + tmp[0] + ".doc";
doc.SaveAs2(SaveAsFile, missing, missing, missing);
}

Я хочу, чтобы несколько ячеек в одном столбце выводились в одном документе Word. Прямо сейчас это только один на столбец

1 Ответ

0 голосов
/ 08 июля 2019

К сожалению, для ваших целей Word не предназначен для такой работы.Невозможно записать массив в таблицу Word за один шаг - ни в строках, ни в столбцах.

Что может сделать Word - это преобразовать текст с разделителями в таблицу, но это все.

Это означает, что код должен будет зацикливать массив tmp[], чтобы заполнить каждую ячейку в столбце.

...