Рейтинг:
2
OriginalGriff
Цитата:
Я передал каплю в виде текстового поля в форме и отправил ее.
Не.
Существует два типа файлов Excel: XLS и XLSX - и ни один из них не основан на тексте. Первый-это проприетарный двоичный формат, второй - набор заархивированных XML-файлов. Попытка втиснуть любую форму в строку приведет к повреждению данных и сделает файл бесполезным.
Вместо этого считайте данные Excel непосредственно в массив байтов и отправляйте их в SQL с помощью параметризованного запроса.
Это та же проблема с данными изображений и тем же решением:
Почему я получаю "параметр не является допустимым." исключение, когда я читаю изображение из своей базы данных?[
^] показывает параметризованное решение.
c#Beginnerrrr
Я не могу читать excel напрямую. Клиент будет отправлять файл excel с данными. Эти данные будут храниться в виде большого двоичного объекта в SQL. Мне нужно приложение, в котором я просто скопирую-вставлю blob-объект из SQL и увижу исходные данные в нем. Я все еще могу прочитать blob-объект с помощью stream, но проблема здесь в том, что данные хранятся на другом сервере, и я не могу получить к ним прямой доступ(предоставляется только значение blob-объекта).
OriginalGriff
Если он хранится в большом двоичном объекте в SQL , то он уже хранится в виде двоичных данных. Вы не можете просто "просмотреть blob - объект как текст" и ожидать увидеть что-нибудь полезное-как я уже сказал, XLSX-файлы-это коллекция сжатых файлов, поэтому вам придется распаковать Zip-файл, а затем посмотреть на данные в каждом файле. Даже тогда вы, вероятно, не увидите много того, что вы узнаете или можете использовать: вам нужно использовать программу чтения Excel, чтобы "декодировать" файл / дату в DataTable / DataReader или что-то подобное.
Dave Kreskowiak
Вы не получаете файл Excel из текстового поля. Это уж точно.
Я не знаю, что вы считаете "файлом Excel", но если вы получаете содержимое из текстового поля, то это уже не файл Excel.
Если вам нужен файл, то пользователь должен будет загрузить сам файл, а не что-то вставленное в текстовое поле.