Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в Excel(*xls) файл. из .xml или напрямую..  
V
    Опции темы
MrCherry
  Дата 30.1.2008, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



вообщем есть табличка с данными, нужно это экспортировать в excel, с открытием .xls файлов вроде как разобрался, а вот как записать - без понятия.. 
имеется VC#2008(Express), все найденные здесь темы начинаются с "Add reference -> COM -> Microsoft Excel", но "Microsoft Excel" у меня там нет.
спрашивается - как проще это сделать? 
PM MAIL   Вверх
farad
Дата 30.1.2008, 15:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 1.11.2007

Репутация: -1
Всего: 6



Цитата(MrCherry @  30.1.2008,  15:05 Найти цитируемый пост)
 но "Microsoft Excel" у меня там нет.спрашивается - как проще это сделать? 
Для начала установить Excel

PM MAIL   Вверх
MrCherry
Дата 1.2.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



пытаюсь так:
Код

public void WriteExcelFile(string filename)
        {
            object optional = null;
            Microsoft.Office.Interop.Excel.ApplicationClass app   = new Microsoft.Office.Interop.Excel.ApplicationClass();
            Microsoft.Office.Interop.Excel.WorkbookClass    book  = new Microsoft.Office.Interop.Excel.WorkbookClass();
            Microsoft.Office.Interop.Excel.WorksheetClass sheet = (Microsoft.Office.Interop.Excel.WorksheetClass)book.Sheets[0];
            sheet.Cells[0, 0] = "0";
            sheet.Cells[0, 1] = "1";
            sheet.Cells[0, 2] = "2";
            sheet.Cells[0, 3] = "3";
            sheet.Cells[0, 4] = "4";
            sheet.Cells[0, 5] = "5";
            book.SaveAs(filename, optional, optional, optional, optional,
                optional, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, optional, optional,
                optional, optional, optional);
            app.Quit();
        }

при попытке загрузить на строке Microsoft.Office.Interop.Excel.WorkbookClass    book  = new Microsoft.Office.Interop.Excel.WorkbookClass(); - выскакивает ошибка:
0x800A03EC
что делать - хз.. помогите кто нить  smile 
PM MAIL   Вверх
MrCherry
Дата 5.2.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 31.5.2006

Репутация: нет
Всего: нет



Код

        public void WriteExcelFile(string filename)
        {
            object opt = Type.Missing;
            Microsoft.Office.Interop.Excel.ApplicationClass app = new Microsoft.Office.Interop.Excel.ApplicationClass();
            app.SheetsInNewWorkbook = 1;
            Microsoft.Office.Interop.Excel.WorkbookClass book
                = (Microsoft.Office.Interop.Excel.WorkbookClass)app.Workbooks.Add(opt);
            Microsoft.Office.Interop.Excel.Worksheet sheet = ((Microsoft.Office.Interop.Excel.Worksheet)app.ActiveSheet);
            sheet.Cells[1, 1] = "1";
            sheet.Cells[1, 2] = "2";
            sheet.Cells[1, 3] = "3";
            sheet.Cells[1, 4] = "4";
            sheet.Cells[1, 5] = "5";
            sheet.Cells[1, 6] = "6";
            book.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8, opt, opt, opt,
                opt, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, opt, opt,
                opt, opt, opt);
            app.Quit();
        }

Вот так вот, проблема решилась, всё хорошо сохраняется..
PM MAIL   Вверх
lankin
Дата 6.2.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



а filename может быть = @"d:\NewExcelFile.xls"? 
или только имя файла? И тада где он появится?
PM MAIL   Вверх
mr.DUDA
Дата 6.2.2008, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(lankin @  6.2.2008,  06:14 Найти цитируемый пост)
 И тада где он появится?

В папке "Мои документы" он появится.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.