Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Razvedos201
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 23
1

Запись данных в OpenOffice.Calc 4.1.1

24.06.2015, 22:09. Просмотров 922. Ответов 1
Метки нет (Все метки)

Всем привет,кто знает как связать C# и OpenOffice Calc? Мне нужно с программы отправить туда данные в определенные ячейки и сохранить файл, какие библиотеки нужно подключить и где их взять.Заранее спасибо..в Гугле искал все размыто..ниче не понял

Добавлено через 3 часа 14 минут
Выяснил пока как добавить библиотеки...они находятся по адресу одна тут C:\Windows\assembly\GAC_32\cli_cppuhelper\1.0.23.0__ce2cb7e279207b9e
остальные C:\Windows\assembly\GAC_MSIL
с префиксом cli например cli_cppuhelper.dll...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2015, 22:09
Ответы с готовыми решениями:

Запись данных из datagrid в OpenOffice.Calc 4.1.2
делала как здесь http://www.cyberforum.ru/windows-forms/thread1486867.html но...

именование диапазона ячеек OpenOffice.Calc
Доброго времени суток! Есть кто работал с OpenOffice в C#??? Мне нужно...

OpenOffice, AODL.dll и VS 2010 - вывод данных в виде таблицы OpenOffice
Доброго дня. Третьего дня столкнулся с нуждой вывода данных в виде таблицы...

Как ускорить запись данных в базу данных?
Добрый день. Есть следующий тестовый код: class MyClass { public int a;...

Взаимодействие С# с OpenOffice 3.1.1
Доброго времени суток! Я хочу написать програмульку которая дружит с...

1
NikLs
8 / 8 / 7
Регистрация: 05.05.2015
Сообщений: 25
10.09.2015, 20:20 2
Лучший ответ Сообщение было отмечено Razvedos201 как решение

Решение

Открыть открыл, а вот внести, пока что тоже ищу способ
C#
1
2
3
4
5
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.frame;
using unoidl.com.sun.star.beans;
using unoidl.com.sun.star.sheet;
C#
1
2
3
4
      static XComponentContext componentContext; 
      static XMultiServiceFactory multiServiceFactory; 
      static XComponentLoader loader; 
      static XSpreadsheetDocument document;
C#
1
2
3
4
5
componentContext = uno.util.Bootstrap.bootstrap();
            multiServiceFactory = (XMultiServiceFactory)componentContext.getServiceManager();
            loader = (XComponentLoader) 
            multiServiceFactory.createInstance("com.sun.star.frame.Desktop");
            document=(XSpreadsheetDocument) loader.loadComponentFromURL("private:factory/scalc","_blank", 0, new PropertyValue[0]);
Добавлено через 20 часов 30 минут
В общем проблему записи в файл решил следующим образом (за основу взято (Тут))
Приведу рабочий код при нажатии кнопки на форме и вывод данных из DataGridView
C#
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
void Button3Click(object sender, EventArgs e)
        {
            componentContext = uno.util.Bootstrap.bootstrap();
            multiServiceFactory = (XMultiServiceFactory)componentContext.getServiceManager();
            loader = (XComponentLoader) 
            multiServiceFactory.createInstance("com.sun.star.frame.Desktop");
            document=(XSpreadsheetDocument) loader.loadComponentFromURL("private:factory/scalc","_blank", 0, new PropertyValue[0]);
 
            XSpreadsheets oSheets = ((XSpreadsheetDocument)document).getSheets();
            unoidl.com.sun.star.container.XIndexAccess oSheetsIA = (unoidl.com.sun.star.container.XIndexAccess)oSheets;
            XSpreadsheet sheet = (XSpreadsheet)oSheetsIA.getByIndex(0).Value;
            unoidl.com.sun.star.table.XCell cell = sheet.getCellByPosition(0, 0); //A1
            ((XText)cell).setString("Название заголовка");
            cell = sheet.getCellByPosition(1, 0); //B1
            ((XText)cell).setString("Название заголовка");
            cell = sheet.getCellByPosition(2, 0); //C1
            ((XText)cell).setString("Название заголовка");
            cell = sheet.getCellByPosition(3, 0); //D1
            ((XText)cell).setString("Название заголовка");
            cell = sheet.getCellByPosition(4, 0); //E1
            ((XText)cell).setString("Название заголовка");
            for (int i=1;i<dataGridView1.Rows.Count;i++)
               { 
             cell = sheet.getCellByPosition(0,i); //A1
            ((XText)cell).setString(""+dataGridView1.Rows[i].Cells["Ваши Данные"].Value+"");
 
                cell = sheet.getCellByPosition(1, i); //B1
                ((XText)cell).setString("" + dataGridView1.Rows[i].Cells["Ваши Данные"].Value + "");
 
                cell = sheet.getCellByPosition(2, i); //C1
                ((XText)cell).setString("" + dataGridView1.Rows[i].Cells["Ваши Данные"].Value + "");
 
                cell = sheet.getCellByPosition(3, i); //D1
                ((XText)cell).setString("" + dataGridView1.Rows[i].Cells["Ваши Данные"].Value + "");
 
                cell = sheet.getCellByPosition(4, i); //E1
                ((XText)cell).setString("" + dataGridView1.Rows[i].Cells["Ваши Данные"].Value + "");
            }
        }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2015, 20:20

Запись данных
Здравствуйте! Вообщем проблема такая, у меня подключено устройство по ethernet...

Как подключить OpenOffice к C#
Всем привет. Если честно я уже замучился искать в инете материал по этой теме....

Экспорт картинок из OpenOffice
Добрый день, Занимаюсь тем, что перегоняю .odt в html. Простое сохранение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru