Есть ли способ записать ранее прочитанный и обновленный набор данных обратно в Excel?C#

Место общения программистов C#
Ответить
Anonymous
 Есть ли способ записать ранее прочитанный и обновленный набор данных обратно в Excel?

Сообщение Anonymous »

Идея проста, и сколько бы я ни искал, я не смог найти ни одного похожего примера.
Используя класс OleDbDataAdapter, я могу выполнить первый шаг:
прочитать определенный диапазон на определенной вкладке из документа Excel.
Мне нужно изменить содержимое набора данных по своему усмотрению, а затем перейти к последнему шагу.
Последний На этом этапе я борюсь: как записать набор данных обратно в Excel в тот же диапазон и на ту же вкладку? По сути, выполните обновление того, что было прочитано изначально, с моими изменениями.
Мой код пока для первого шага — изменения в наборе данных не имеют отношения к этому примеру.

Код: Выделить всё

    static void Main(string[] args)
{
string dq = "\"";
string dataSheetName = "Sheet1";
string fileName = @"C:\Myfile.xlsm";
string excelRange = "A1:E7";
string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={fileName}; Extended Properties={dq}Excel 12.0;HDR=NO;IMEX=1{dq}";
var adapter = new OleDbDataAdapter($"SELECT * FROM [{dataSheetName}${excelRange}]", connectionString);
DataSet dataSet = new DataSet();

adapter.Fill(dataSet, "myData");
DataTable dataTable = dataSet.Tables["myData"];

foreach (DataRow row in dataTable.Rows)
{

// change rows contents as I please before writing back to Excel
}

// ------------------------------------------------------------------------------------
// GOAL: To write back to Excel the dataset changed above into the same tab and range
// ------------------------------------------------------------------------------------

}
Я использую Office 365.
Кто-нибудь может помочь?
Очень благодарен

Подробнее здесь: https://stackoverflow.com/questions/798 ... k-to-excel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»