Получите Data From An Uploaded файл Excel, не сохраняя к файловой системе

Невозможно удалить водяной знак или перенаправить на Youtube. Все опции для API iFrame здесь !

10
задан 4 November 2008 в 16:22
поделиться

6 ответов

Я нашел большой легкий API с открытым исходным кодом на Codeplex для того, чтобы сделать названный ExcelDataReader.

Это может преобразовать входной поток файла Excel в a System.Data.DataSet объект (вероятно, анализирующий использующий спецификации СИЛЬНОГО УДАРА).

Вот ссылка:

http://www.codeplex.com/ExcelDataReader

Вот пример кода:

<%--ASP.NET Declarative--%>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Send File" OnClick="Button1_Click" />
<asp:GridView ID="GridView1" runat="server" />

// C# Code-Behind
protected void Button1_Click(object sender, EventArgs e) {
    // the ExcelDataReader takes a System.IO.Stream object
    var excelReader = new ExcelDataReader(FileUpload1.FileContent);
    FileUpload1.FileContent.Close();

    DataSet wb = excelReader.WorkbookData;
    // get the first worksheet of the workbook
    DataTable dt = excelReader.WorkbookData.Tables[0];

    GridView1.DataSource = dt.AsDataView();
    GridView1.DataBind();
}
8
ответ дан 3 December 2019 в 23:15
поделиться

Используйте FileUpload1. Поток FileContent. Я предполагаю, что Ваша библиотека Excel может обработать потоки непосредственно.

4
ответ дан 3 December 2019 в 23:15
поделиться

Библиотеки COM Excel не поддерживают загружающийся файл из другого источника, чем файл. Но там существует много сторонних компонентов, которое позволяет Вам чтение-запись файлы Excel.

Othervise Вы видите документацию для th XLS формат файла в [MS-XLS]: Формат Двоичного файла Excel (.xls) Спецификация Структуры.

Или можно использовать тот же способ офисных файлов, обрабатывающих как в Сервере Sharepoint. Посмотрите Microsoft. Office. Excel. Сервер. Пространство имен WebServices.

1
ответ дан 3 December 2019 в 23:15
поделиться

Это - что-то, с чем я играл недавно.

Проверьте это сообщение: Запишите рабочую книгу Excel в поток памяти.NET

Это указывает на большую библиотеку Carlos Aguilar Mares, который позволяет Вам работать с рабочими книгами Excel как XML.

ExcelXMLWriter

Вам не нужен Excel, установленный на сервере (который является видом повреждения MS, лицензирующего так или иначе, поскольку Вы получаете доступ к этому по сети).

Можно загрузить рабочую книгу Excel как потоковое использование Workbook.Load(stream)

0
ответ дан 3 December 2019 в 23:15
поделиться

возможно, имейте взгляд csvreader, он читает csv, xls и xlsx:

http://www.csvreader.com

1
ответ дан 3 December 2019 в 23:15
поделиться

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

Удачи.

0
ответ дан 3 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: