From: ·············@gmail.com
Subject: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <1176970486.313862.298890@o5g2000hsb.googlegroups.com>
I've searched google but only thing i've found is RNDNZL through .Net
is there any library
that supports excel format (read and write to it)?

From: Edi Weitz
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <uzm54u5g6.fsf@agharta.de>
On 19 Apr 2007 01:14:46 -0700, ·············@gmail.com wrote:

> I've searched google but only thing i've found is RNDNZL through
> .Net is there any library that supports excel format (read and write
> to it)?

Apart from using RDNZL (note spelling), you can also use DDE:

  http://www.lispworks.com/kb/f272c18a85f79ce9852567210073b25f.html

Or you can deal with CSV files:

  http://members.optusnet.com.au/apicard/csv-parser.lisp
  http://www.cliki.net/fare-csv

AFAIK there is no Lisp open source library that can read and write
"native" Excel files.  Would be a tad hard anyway, as the format is
not documented.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: fireblade
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <1176974151.660791.93920@l77g2000hsb.googlegroups.com>
On Apr 19, 10:35 am, Edi Weitz <········@agharta.de> wrote:
> On 19 Apr 2007 01:14:46 -0700, ·············@gmail.com wrote:
>
> > I've searched google but only thing i've found is RNDNZL through
> > .Net is there any library that supports excel format (read and write
> > to it)?
>
> Apart from using RDNZL (note spelling), you can also use DDE:
>
>  http://www.lispworks.com/kb/f272c18a85f79ce9852567210073b25f.html
>
> Or you can deal with CSV files:
>
>  http://members.optusnet.com.au/apicard/csv-parser.lisp
>  http://www.cliki.net/fare-csv
>
> AFAIK there is no Lisp open source library that can read and write
> "native" Excel files.  Would be a tad hard anyway, as the format is
> not documented.
>

Some  description might be at
http://sc.openoffice.org/excelfileformat.pdf
but i don't know how accurate it is and
it's  222 pages  long.

cheers
bobi
From: ········@googlemail.com
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <1177017925.246478.103640@o5g2000hsb.googlegroups.com>
> is there any library that supports excel format (read and write to
> it)?

I wrote CLisp OLE module a while ago. You can control Excel through
that. It is rather experimental piece of code so if you (or anybody
else) are interested in using and improving it, I can publish it. And,
it
will be GPL:-)

Tomas
From: Dmitriy Ivanov
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <f082b1$208a$1@news.aha.ru>
Hello ·············@gmail.com,
<·············@gmail.com> wrote:

J> I've searched google but only thing i've found is RNDNZL through
J> .Net is there any library
J> that supports excel format (read and write to it)?

Additionally, there is an Excel driver among Microsoft ODBC Desktop Database
Drivers installed by MS Office. If the spreadsheets you have got are not
very exotic, you can try CLSQL or YSQL.
--
Sincerely,
Dmitriy Ivanov
Common Lisp ODBC interface - lisp.ystok.ru/ysql.html
From: George Neuner
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <j2of239v1hfnl078rkhovsv47gljvdsotm@4ax.com>
On Thu, 19 Apr 2007 19:38:22 +0400, "Dmitriy Ivanov"
<·············@m_aha.ru> wrote:

>Hello ·············@gmail.com,
><·············@gmail.com> wrote:
>
>J> I've searched google but only thing i've found is RNDNZL through
>J> .Net is there any library
>J> that supports excel format (read and write to it)?
>
>Additionally, there is an Excel driver among Microsoft ODBC Desktop Database
>Drivers installed by MS Office. If the spreadsheets you have got are not
>very exotic, you can try CLSQL or YSQL.

The Excel "database" driver requires the source data to be formatted
in named tables - it can't just read an arbitrarily formatted
spreadsheet.

The best way to access Excel is through its OLE/COM interfaces which
give you almost complete remote control.  Unfortunately I haven't used
COM from Lisp so I don't have any suggestions for a COM library.

George
--
for email reply remove "/" from address
From: Edi Weitz
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <ufy6wm2xx.fsf@agharta.de>
On Thu, 19 Apr 2007 17:44:39 -0400, George Neuner <·········@comcast.net> wrote:

> Unfortunately I haven't used COM from Lisp so I don't have any
> suggestions for a COM library.

LispWorks has a COM interface:

  http://www.lispworks.com/documentation/lw50/COM/html/com.htm

I guess AllegroCL has something like that as well.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Eric Marsden
Subject: Re: Is there a library to read / write Microsoft Excel format
Date: 
Message-ID: <87vefscg9q.fsf@free.fr>
>>>>> "jt" == JeremiaThomas  <·············@gmail.com> writes:

  jt> I've searched google but only thing i've found is RNDNZL through .Net
  jt> is there any library
  jt> that supports excel format (read and write to it)?

  not a native library, but an alternative to .NET is the Apache POI
  library (implemented in Java) from ABCL. Below is some sample code
  that I have used for testing.

;; http://jakarta.apache.org/poi/index.html
(defun excel (orig-file)
  (let* ((input (namestring (probe-file orig-file)))
         (in (invoke::new 'FileInputStream input))
         (fs (invoke::new 'org.apache.poi.poifs.filesystem.POIFSFileSystem in))
         (workbook (invoke::new 'org.apache.poi.hssf.usermodel.HSSFWorkbook fs))
         (col-index (invoke::new 'java.lang.Short "13"))
         (row-index (invoke::new 'java.lang.Short "9"))
         (new-sheet (#"createSheet" workbook "new sheet"))
         (dd-sheet-index (#"getSheetIndex" workbook "Data Definition"))
         (dd-sheet (#"getSheetAt" workbook dd-sheet-index))
         (row (#"getRow" dd-sheet row-index))
         (cell (#"getCell" row col-index)))
    (declare (ignorable new-sheet))
    (#"setCellValue" cell 333.0d0)
    (let ((out (invoke::new 'FileOutputStream "test-out.xls")))
      (#"write" workbook out)
      (#"close" out))))

-- 
Eric Marsden