2009-07-02 9 views
3

누구나 Excel 문서 생성을 위해 Java 기반 라이브러리를 사용 했습니까? 2003 년 지원이 바람직합니까?프로그래밍 방식으로 문서 생성

+0

'문서'란 무엇을 의미합니까? 보고서 또는 숫자로 가득 찬 스프레드 시트처럼 보이는 것이 있습니까? – pjp

+0

스프레드 시트 생성 중 :) – predhme

답변

6

(http://poi.apache.org/index.html). 2003 년 파일 형식 버전은 아직 베타 버전이지만 충분히 잘 작동하는 것 같습니다. 나는 그것의 힘을 아주 많이 행사하지는 않을 것이고, Excel의 읽기와 쓰기는 간단하지만 신뢰할 만해 보인다.

+0

아파치는 모든 것을위한 라이브러리를 제공하는 것 같습니다. POI는 우리가 찾고있는 것을 정확하게 제공하는 것 같습니다. 고마워! – predhme

+0

아래에서 언급했듯이 이미 CSV 파일을 생성하고 있습니다. POI가 POI를 가져 와서 Excel 파일을 생성 할 수 있습니까? 앱 사용자는 이미 매일 수백 개의 파일을 생성하고 있으며 각 파일을 가져 오는 것은 시간 낭비입니다. – predhme

+0

Java에서 CSV를 가져 오는 데는 아무 것도 필요하지 않습니다. CSVReader와 같은 좋은 CSV 파서를 찾으십시오. http://code.google.com/p/secrets-for-android/source/browse/trunk/src/au/com/bytecode/opencsv/CSVReader.java?spec= svn19 & r = 19 – pjp

6

내가 이것을해야 할 때마다 나는 하나의 큰 html 테이블로 충분할지 스스로에게 묻습니다.

많은 시간입니다. HTML 태그를 작성하고 .xls 파일로 레이블을 지정할 수 있습니다. 엑셀 내가 현재 생산되는 보고서 개인적으로 사용했습니다 올바르게

+0

+1 :-) WOW nice trick – Blauohr

1

JExcelApi

을 엽니 다. 충분한 문서와 함께 꽤 괜찮은 라이브러리이고 오픈 소스입니다.

매우 잘 작동하지만 몇 가지주의해야 할 점이 있습니다. 그들 중 누구도 거래 차단기가 아니라 몇 가지 일을 어떻게해야하는지 지시합니다. FAQ을 꼭 읽어보십시오. 그것을 설명하고 피하는 방법을 알려줍니다.

1

형식이 지정된 HTML 표는 올바르게 가져 오지만보다 고급 요구 사항 (여러 워크 시트, 수식 등)을 얻으려면 Excel 2003 XML Toolbox의 Excel XML 형식을 사용하는 것이 좋습니다. 매우 포괄적이고 나는 현재 아파치 POI 함께 일하고 있어요

+0

.xls로 저장된 간단한 HTML 테이블 내의 sidenote 수식이 올바르게 작동합니다. 더 복잡한 것이 필요할 때마다 Excel에서 "템플릿"통합 문서를 고안하고 XML로 저장 한 다음 해당 XML의 이름을 .xls로 바꿉니다 (Excel에서 파일을 올바르게 처리 함). 누락 된 정보를 삽입하는 템플릿으로 XML 파일을 사용합니다. http://poi.apache.org/도 정상적으로 작동합니다. –

+0

다른 대답으로 언급했듯이 사용자는 매일 수백 개의 보고서를 생성하고 각 보고서를 Excel로 가져 오는 것은 엄청난 시간 낭비입니다. 사용자에게 직접 파일을 생성해야합니다. – predhme

+0

내가 보고서를 말하면 CSV, PDF 등을 의미합니다. 사용자가 CSV를 Excel로 가져 오지 않고 대신 Excel 파일을 이미 만들어 두었습니다. – predhme

2

당신이 CSV 후 바로 출력 공상 제목이 필요하지 않은 경우.

+0

응용 프로그램에서 이미 CSV 파일을 생성합니다. 여러 사용자가 나중에 수백 개의 파일을 생성하여 나중에 보고서를 생성합니다. 가져올 하나의 파일은 훌륭하지만 하루에 수백 번은 시간이 많이 걸립니다. 오히려, 그들은 그 부분을 돌보고 싶습니다 ... 나는 그들을 위해 엑셀 파일을 생성합니다. – predhme

+0

비록 우리가 이미 데이터의 CSV를 생성하고 있기 때문에 "import"프로세스가 프로그래밍 방식으로 java를 통해 수행 될 수 있습니까? – predhme

+0

정확히 수백 개의 파일을 Excel로 가져오고 있습니까? 그들은 다른 장에 나타 납니까? 그들은 함께 모였는가? 현재 VBA를 사용하고 있습니까? – pjp

1

나는 일반적인 자바와 COM 솔루션으로 Jacob 함께 할. 그러나 제 독서에서 제이콥은 여러 번 전화를 잘 처리하지 못합니다 (수백만 건의 통화). 나는 그것을 조금 패치해야했습니다. 이 패치는 Jacob 관리자가 수락하지 않았습니다.

어쨌든 Jacob은 오픈 소스 (LGPL)이며 패치를 한 후 아직 수년간 운영 환경을 운영하고 있습니다.

COM을 사용하여 Excel에 연결하면 표준 Excel API를 사용하여 문서를 처리합니다. 먼저 VBS (VBScript Language Reference)와 작동하는 방법을 시도한 다음 java로 구현하십시오.

0

당신은 자바에서이 같은 VBS와 엑셀 파일 다음 칼 스크립트를 생성 할 수 있습니다

String script = "your_VBS_Name.vbs" 
String cmd = "D:\\YourPath" + script; 
Runtime.getRuntime().exec(cmd); 

스크립트를 만들 수는

메모장을 엽니 다 정말 간단하고 다음 예를 따르

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 

Set objWorkbook = objExcel.Workbooks.Add() 
objWorkbook.SaveAs("D:\yourExcel.xls") 

objExcel.Quit 

다음 저장 your_VBS_Name.vbs

목 등 ats it!

관련 문제