|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите пожалуйста как можно вставить 75000 строк с помощью С#. Это запрос из SQL. До этого использовал код из статьи в МСДН - PSS ID Number: 306023.(ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.KB.v10.en/enu_kboffdev/offdev/306023.htm#6) Всё работало, но видно число строк превысило чем 68000 программа ругается, говорит что недостаточно памяти. Если кто сталкивался подскажите пожалуйста обойти этот момент. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:19 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Эксель какой версии, недостаточно памяти в экселе или самой программе, где код наконец? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:28 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
65000 строк это в старом формате экселя. в новом xslx такого ограничения нет ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:31 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Извиняюсь EXCEL 2010. про лимит я тоже думал что EXCEL 2010 миллион позволяет. Но почему-то ругается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:33 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
формат файла смотрите, а не версию экселя, на котором вы этот файл открываете ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:35 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Сейчас проверил открываю как .xlsx ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:44 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
m_objBook = (Excel._Workbook)(m_objBooks._Open(excelWorkbook, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, true, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt)); Может параметры надо прописывать какие нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:46 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
в этом не должно быть такого ограничения по строкам. выкладывайте код , которым вы загружаете данные ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:49 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saley, я просил нормальный компилирующийся код, а не этот ошметок. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2013, 16:53 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Не шумите господа, вот пожалуйста код таблица dt это 38 полей и 78630 строк, excelWorkbook это путь до файла с расширением .xlsx Код я брал из примера. public void ExcelUpLoad(DataTable dt, string excelWorkbook, string nmSh) { Excel.Application m_objExcel = null; Excel.Workbooks m_objBooks = null; Excel._Workbook m_objBook = null; Excel.Sheets m_objSheets = null; Excel._Worksheet m_objSheet = null; Excel.Range m_objRange = null; Excel.Font m_objFont = null; Excel.QueryTables m_objQryTables = null; Excel._QueryTable m_objQryTable = null; object m_objOpt = System.Reflection.Missing.Value; m_objExcel = new Excel.Application(); m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; m_objBook = (Excel._Workbook)(m_objBooks._Open(excelWorkbook, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, true, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt)); m_objSheets = (Excel.Sheets)(m_objBook.Worksheets); m_objSheets = (Excel.Sheets)(m_objBook.Worksheets); m_objSheet = (Excel._Worksheet)(m_objSheets.Add(m_objOpt, m_objOpt, m_objOpt, m_objOpt)); m_objSheet.Name = nmSh; object[,] objData = new Object[dt.Rows.Count, dt.Columns.Count]; for (int jj = 0; jj < dt.Columns.Count; jj++) { for (int r = 0; r < dt.Rows.Count; r++) { objData[r, jj] = dt.Rows[r][jj].ToString(); } } m_objRange = m_objSheet.get_Range("A1", m_objOpt); m_objRange = m_objRange.get_Resize(dt.Rows.Count, dt.Columns.Count); m_objRange.set_Value(m_objOpt, objData); /*Поробывал и так, тоже выдаёт ошибку. System.Windows.Forms.Clipboard.SetDataObject(objData); m_objRange = m_objSheet.get_Range("A1", m_objOpt); m_objSheet.Paste(m_objRange, false); */ } ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 07:00 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
COM interop - зло ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 07:46 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
ИзопропилCOM interop - зло Согласен. А как по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 08:16 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saleyИзопропилCOM interop - зло Согласен. А как по другому? EPPlus, например ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 11:16 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saleyА как по другому? Генераторы отчетов, CSV . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 11:40 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
МСУsaleyА как по другому? Генераторы отчетов, CSV . А с помощью кода который я использовал, понимаю так что невозможно вставить строк более чем 65000? Значит всё таки существуют ограничения? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 12:04 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saley, на *.xlsx файлах я такого ограничения не встречал ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 12:41 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saleyА с помощью кода который я использовал, понимаю так что невозможно вставить строк более чем 65000? Значит всё таки существуют ограничения? Возможно ты используешь старый 2003 интероп, в котором есть это ограничение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 13:01 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saleyСогласен. А как по другому? к генаторам отчётов можно добавить Open XML SDK ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 18:31 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
saley, А на какой строке кода программа валится? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 07:54 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Автор давно бы мог тестовый проект сюда прикрепить, но ему больше по душе играть в игру угадай-ка. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 09:18 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Если недостаточно памяти-поищите в своем коде бесконечный цикл ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 15:41 |
|
из С# вставка в EXCEL 75000 строк
|
|||
---|---|---|---|
#18+
Порылся в логах ошибок-нашел такое "Недостаточно памяти для продолжения выполнения программы.". Это у меня самый большой отчет, 600 столбцов. Пользователь говорит, что помогает перезагрузка компа перед запуском формирования отчета. Отчет тоже выгружается в эксель object[,] objData = new Object[dt.Rows.Count, dt.Columns.Count]; По сути дела вы копируете сюда большой массив данных, т.е. удваиваете требуемую память. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2013, 15:58 |
|
|
start [/forum/topic.php?fid=20&msg=38412777&tid=1403930]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 148ms |
0 / 0 |