powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как можно читать excel файл без инсталяции Excel на машине?
9 сообщений из 9, страница 1 из 1
Как можно читать excel файл без инсталяции Excel на машине?
    #36542223
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие есть хорошие способы чтения excel-файлов на машине, где не установленный MS Office Excel (только .NET Framework).
Очень желательно что бы можно было читать любые версии екселя!
Знаю только вариант с ADO.NET и Jet OLE DB Provider, но он вроде не работает с новым екселем и возможно там есть еще какие-то ограничения, еще не разобрался толком...
кто может что-то толковое посоветовать?
Спасибо.
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36542405
curiousMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36542601
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
curiousMan,

Спасибо за ссылку.
Если не сложно хотел бы еще спросить будет ли работать эта штука на 64х платформах (мне важно)? и как я понял она вроде бесплатная?
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36542678
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно кто-то может подсказать какие-то third-party бесплатные компоненты?
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36542920
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36542929
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дам примерчик:

...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        File.Copy(Server.MapPath("template.xlsx"), Server.MapPath("generated.xlsx"), true);

        using (SpreadsheetDocument myWorkbook = SpreadsheetDocument.Open(Server.MapPath("generated.xlsx"), true))
        {
            WorkbookPart workbookPart = myWorkbook.WorkbookPart;
            WorksheetPart worksheetPart = GetWorkSheetPart(workbookPart, "Лист1");

            SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();

            using (DataClassesDataContext db = new DataClassesDataContext())
            {
                int index = 2;
                var query = from t in db.Tests select t;

                foreach (var item in query)
                {
                    Row contentRow = CreateContentRow((UInt32)index, item.Title, item.Id, DateTime.Now.AddDays(index));
                    index++;
                    sheetData.AppendChild(contentRow);
                }
            }           
        }
    }   

    WorksheetPart GetWorkSheetPart(WorkbookPart workbookPart, string sheetName)
    {
        string relId = workbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name.Value.Equals(sheetName)).First().Id;
        return (WorksheetPart)workbookPart.GetPartById(relId);
    }

    Row CreateContentRow(UInt32 index, string title, int id, DateTime date)
    {
        Row r = new Row { RowIndex = (UInt32) index };
        Cell cell1 = CreateNumberCell("A", index, id);
        Cell cell2 = CreateTextCell("B", index, title);
        Cell cell3 = CreateTextCell("C", index, date.ToString(CultureInfo.InvariantCulture.DateTimeFormat));
        r.Append(cell1);
        r.Append(cell2);
        r.Append(cell3);
        return r;
    }

    Cell CreateTextCell(string header, UInt32 index, string text)
    {
        Cell c = new Cell { DataType = CellValues.InlineString, CellReference = header + index };
        InlineString istring = new InlineString();
        Text t = new Text { Text = text };
        istring.Append(t);
        c.Append(istring);
        return c;
    }

    Cell CreateNumberCell(string header, UInt32 index, int number)
    {
        Cell c = new Cell { CellReference = header + index };
        CellValue v = new CellValue { Text = number.ToString() };
        c.Append(v);
        return c;
    }
}
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36544577
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Спасибо, похоже на очень класную либу для работы с .xlsx. Буду благодарен если кто-то еще кинет класную ссылочку на примеры работы с Open XML SDK 2.0 =)
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36544601
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.microsoft.com/downloads/details.aspx?FamilyID=78bea298-a3f9-44cf-bde0-b4f30dc986df&displaylang=en
...
Рейтинг: 0 / 0
Как можно читать excel файл без инсталяции Excel на машине?
    #36544608
Asterion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отвечая на свой вопрос:

http://blogs.msdn.com/brian_jones/archive/2008/11/10/reading-data-from-spreadsheetml.aspx
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как можно читать excel файл без инсталяции Excel на машине?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]