Экспорт данных SQL, чтобы преуспеть очень медленноC#

Место общения программистов C#
Ответить
Anonymous
 Экспорт данных SQL, чтобы преуспеть очень медленно

Сообщение Anonymous »

Я экспортирую данные SQL в Excel. Код, который я использую в настоящее время: < /p>

DataTable dt = new DataTable();
// Create sql connection string
string conString = "Data Source=DELL\\SQLSERVER1;Trusted_Connection=True;DATABASE=Zelen;CONNECTION RESET=FALSE";

SqlConnection sqlCon = new SqlConnection(conString);
sqlCon.Open();

SqlDataAdapter da = new SqlDataAdapter("select LocalSKU,ItemName, QOH,Price,Discontinued,CAST(Barcode As varchar(25)) As Barcode,Integer2,Integer3,ISNULL(SalePrice,0.0000)AS SalePrice,SaleOn,ISNULL(Price2,0.0000)AS Price2 from dbo.Inventory", sqlCon);

System.Data.DataTable dtMainSQLData = new System.Data.DataTable();

da.Fill(dtMainSQLData);
DataColumnCollection dcCollection = dtMainSQLData.Columns;

// Export Data into EXCEL Sheet
Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
ExcelApp.Application.Workbooks.Add(Type.Missing);

int i = 1;
int j = 1;
int s = 1;
//header row
foreach (DataColumn col in dtMainSQLData.Columns)
{
ExcelApp.Cells[i, j] = col.ColumnName;
j++;

ExcelApp.Rows.AutoFit();
ExcelApp.Columns.AutoFit();
}

i++;

//data rows
foreach (DataRow row in dtMainSQLData.Rows)
{
for (int k = 1; k < dtMainSQLData.Columns.Count + 1; k++)
{
ExcelApp.Cells[i, k] = "'" + row[k - 1].ToString();
}

i++;
s++;
Console.Write(s);
Console.Write("\n\r");

ExcelApp.Columns.AutoFit();
ExcelApp.Rows.AutoFit();
}

var b = Environment.CurrentDirectory + @"\Sheet1.xlsx";
ExcelApp.ActiveWorkbook.SaveCopyAs(b);

ExcelApp.ActiveWorkbook.Saved = true;
ExcelApp.Quit();

Console.WriteLine(".xlsx file Exported succssessfully.");
< /code>

принимает 70000 строк в моей базе данных SQL. Я запускаю этот скрипт в приложении консоли.
требуется больше часа, чтобы экспортировать его в файл Excel. < /P>

Как я могу использовать его для экспорта быстрее?>

Подробнее здесь: https://stackoverflow.com/questions/241 ... -very-slow
Ответить

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

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

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

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

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