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

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

...
Код: 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
26.03.2010, 13:44
    #36544577
Asterion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно читать excel файл без инсталяции Excel на машине?
МСУ,

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

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


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