Novaa Ответов: 2

Как загрузить несколько строк в лист excel


Я хочу загрузить 80 000 строк на одном листе в виде файла .xlxs (Excel) в C# и бэкэнд-SQL Server. Но я искал в Интернете, я не могу определить, какая программа является правильной. Большинство программистов говорит, что разделите данные на лист excel и загрузите файл. Но я хочу загрузить минимум 80 000 строк на одном листе.

Что я уже пробовал:

Я перепробовал кучу кодов. Но я получил ошибку типа
Цитата:
-Система.OutOfMemoryException'

Karthik_Mahalingam

использовать .XLSX-файл

F-ES Sitecore

Разместите соответствующий код

2 Ответов

Рейтинг:
1

OriginalGriff

Загрузка его не является проблемой, при условии, что это "современный" файл excel - до 2007 года версии имели ограничение в 64 тысячи строк, но это было увеличено до "более миллиона". Ваш файл XLXS, так что он должен быть в состоянии справиться с ним.

Использование его вполне может быть ... Это совсем не хороший "дружественный к человеку" файл.

И загрузка больших файлов не является проблемой, как и хранение их в SQL и извлечение их (хотя это очень плохая идея - вы должны рассмотреть возможность хранения их как файлов и хранения там, где файл находится в SQL вместо этого).

Таким образом, проблема должна быть либо в вашем коде, который создает данные Excel или обращается к ним, либо в коде, который обрабатывает их на клиентском конце.

И мы ничего этого не видим. Так что все будет зависеть от тебя.
Во - первых, выясните, откуда берется эта ошибка "из памяти": какое приложение генерирует ошибку и где она выполняется- клиент или сервер? Что такое doi9gn, когда это происходит? Что вы сделали, чтобы вызвать его, чтобы получить там?

Затем используйте отладчик в этом приложении, чтобы выяснить, какой код вызывает ошибку и когда. В чем его вклад? Выходы? Что именно он делает, когда терпит неудачу?

Пока у вас нет этого, все - включая вас - просто догадываются, в чем может быть проблема, и никто не может ее решить.


Рейтинг:
0

Patrice T

Цитата:
-Система.OutOfMemoryException'

Это означает, что ваш запрос не помещается в памяти, единственное решение-разбить ваш единственный запрос на несколько частичных запросов, несмотря ни на что.
Первый запрос-это записи от 1 до 1000
Второй запрос-это записи от 1001 до 2000 лет
...
https://www.sqlshack.com/introduction-pagination-sql-server/[^]
Разбиение на страницы со смещением / выборкой : лучший способ[^]

Как писать в Excel листе, вы знаете, где вы остановитесь на предыдущем куске, просто продолжите на следующей строке.