Запуск openoffice calc и открытие файла csv - PullRequest
2 голосов
/ 01 апреля 2011

В моем приложении .NET C # есть функция, которая экспортирует данные из DataGridView в CSV файл и открывает файл с Excel.

Есть ли способ сделать это, используя OpenOffice Calc?Т.е. как я могу запустить приложение Calc из моего кода и указать на файл CSV, который я создал?

Ответы [ 2 ]

0 голосов
/ 02 мая 2014

Soner Gonul объяснил вам, как экспортировать в CSV.

Чтобы открыть файл с помощью OpenOffice Calc, просто получите путь к исполняемому файлу OpenOffice Calc и запустите его с вашим путем к файлув аргументах

Process.Start("pathToYourOpenOfficeCalc.exe","pathToYourCSVFile");

Вот и все.

0 голосов
/ 01 апреля 2011

Я нашел статью для вас

http://www.opendocument4all.com/download/OpenOffice.net.pdf

И этот код дает вам представление;

XStorable2 xs = (XStorable2)mxDocument;

xs.storeToURL("file:///C:/oo.xls", new unoidl.com.sun.star.beans.PropertyValue[0]);

Я также нашел эту ссылку для вас

Создание документа OpenOffice Writer с помощью C #

Создание документа OpenOffice Calc с помощью C #

C # для OpenOffice Calc

РЕДАКТИРОВАТЬ :

using System;
using unoidl.com.sun.star.lang;
using unoidl.com.sun.star.uno;
using unoidl.com.sun.star.bridge;
using unoidl.com.sun.star.frame;
using unoidl.com.sun.star.text;
using unoidl.com.sun.star.beans;

XComponentContext oStrap = uno.util.Bootstrap.bootstrap();

XMultiServiceFactory oServMan = (XmultiServiceFactory) oStrap.getServiceManager();

XComponentLoader oDesk = (XComponentLoader) oServMan.createInstance("com.sun.star.frame.Desktop" );

string url = @"private:factory/swriter";
PropertyValue[] propVals = new PropertyValue[0];
XComponent oDoc = oDesk.loadComponentFromURL(url, "_blank", 0, propVals);

string docText = "This will be my first paragraph.\n\r";
docText += "This will be my second paragraph.\n\r";

And then this is written to the body of the document:
((XTextDocument)oDoc).getText().setString(docText);

string fileName = @"C:\Reports\test.odt";
fileName = "file:///" + fileName.Replace(@"\", "/");

And then the file is saved to disk:
((XStorable)oDoc).storeAsURL(fileName, propVals);

((Xcomponent)oDoc).dispose();
...