Я использую OleDbConnection для экспорта данных в файл Excel.Генерация Excel работает нормально, если установлена соответствующая архитектура (x64 или x86) «Access Database Engine 2010».Но проблема в том, что когда я открываю сгенерированный Excel, все листы выбираются по умолчанию.Это означает, что как только я открою файл, и если я начну редактировать одну ячейку, такое же изменение будет отражено на всех листах.Я хочу избежать этого поведения.
using (var oledb=new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\test.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;"";"))
{
oledb.Open();
for (int i = 0; i < 3; i++)
{
using (var command = new OleDbCommand($"CREATE TABLE table{i} (Column1 varchar(20),Column2 varchar(20),Column3 int)"))
{
command.Connection = oledb;
command.ExecuteNonQuery();
}
for (int j = 0; j < 100; j++)
{
using (var insertion = new OleDbCommand($"insert into table{i} values('don{j}','deen{j}',{i+j})"))
{
insertion.Connection = oledb;
insertion.ExecuteNonQuery();
}
}
}
}
Примечание. Эта проблема не воспроизводится, если я устанавливаю «Database Engine 2007», но, насколько мне известно, для «Database Engine 2007» доступна только версия x32.".
С уважением, Ани