Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Excel - быстрый импорт 
:(
    Опции темы
xsb3
Дата 14.11.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Да хорошие темы в форуме затронуты по экселю, нашел даже полезные но вот проблемка у меня такая:
у меня есть 2 варианта выгрузки

Код

// create the DataGrid and perform the databinding
System.Web.UI.WebControls.DataGrid grid = new System.Web.UI.WebControls.DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = dataSet11;
grid.DataMember = dataSet11.ZAKAZ4IKI.TableName;
grid.DataBind();
using (StreamWriter sw = new StreamWriter(textBox3.Text))
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
grid.RenderControl(hw);
}
}


Все в нем классно набор из 10000 записей делает влет НО вставляет данные только в 1 лист и с 1 ячейки
второй код
Код

Microsoft.Office.Interop.Excel.ApplicationClass zExcel = new ApplicationClass();
zExcel.IgnoreRemoteRequests = true;
Workbook zBook = zExcel.Workbooks.Add(@"D:\data.xls");
Worksheet zSheet = (Worksheet)zBook.ActiveSheet;
zExcel.Visible = true;
for (int i = 0; i < dataSet51.ZAKAZ4IKI.Columns.Count; i++)
{
for (int j = 0; j < dataSet51.ZAKAZ4IKI.Rows.Count; j++)
{
((Range)zSheet.Cells[j + 6, i + 6]).Value2 = dataGrid5[j, i].ToString();
}
}
zExcel.IgnoreRemoteRequests = false;

тоже все классно вставляет в какую книгу мне нада НО такой медленный способ если нужно вставить около 1000 хотябы ячеек может кто подскажет как 1 заставить в нужный лист в нужные ячейки кидать данные или как ускорить второй вариант ато по 7 минут 10000 ячеек выгрузки ждать ужас 
Ктото предлагал выгрузку массивами из датасета в эксель но чтото я не вьехал как 
(XML выгрузку и прочее пожалуйста не предлагать) желательно пример кода smile

Это сообщение отредактировал(а) xsb3 - 14.11.2009, 12:02
PM MAIL   Вверх
xsb3
Дата 14.11.2009, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Код

 Microsoft.Office.Interop.Excel.ApplicationClass zExcel = new ApplicationClass();
            zExcel.IgnoreRemoteRequests = true;
            Workbook zBook = zExcel.Workbooks.Add(@"D:\data.xls");
            Worksheet zSheet = (Worksheet)zBook.ActiveSheet;
            zExcel.Visible = true;
            object[,] values = new object[dataSet11.ZAKAZ4IKI.Rows.Count, dataSet11.ZAKAZ4IKI.Columns.Count];
            for (int i = 0; i < dataSet11.ZAKAZ4IKI.Columns.Count; i++)
            {
                for (int j = 0; j < dataSet11.ZAKAZ4IKI.Rows.Count; j++)
                {
                    values[j, i] = dataGrid1[j, i].ToString();
                }
            }
            zSheet.get_Range(zSheet.Cells[6, 6], zSheet.Cells[6 + dataSet11.ZAKAZ4IKI.Rows.Count - 1, 6 + dataSet11.ZAKAZ4IKI.Columns.Count - 1]).Value2 = values;
            zExcel.IgnoreRemoteRequests = false;       

Для остальных кто сталкнется модефицирование кода в первом посте. Работает крайне быстро.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.