2014-09-16 2 views

답변

0

없음되지 지금까지 내가 아는 한,하지만 당신은 엑셀이이 방식으로 POI를 사용하여 Java로 다시 읽을 수 체크 박스에 파일을 만들 수 있습니다 :

Excel 파일을 만들고 그래서 (template.xlsm로 저장 매크로 사용).

Excel 파일에서

삽입 VBA 매크로 (사용 '개발자'탭)하고 파일을 닫습니다 + 저장 :

Workbook wb = WorkbookFactory.create(new File("path to your file/template.xlsm")); 

:

Sub addCheckBoxes() 
Dim i As Integer 
Dim cel As Range 
i = 2 
For Each cel In Sheets("Sheet1").Range("A" & 3 & ":A" & 1000) 
    i = i + 1 
    If Cells(i, "B").Value <> "" Then 
     cel.Value = 0 
     With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=cel.Left, Top:=cel.Top, Width:=cel.Width, Height:=cel.Height) 
      .LinkedCell = "Sheet1!$A$" & i 
      .Object.Caption = "<-use" 
     End With 
    End If 
Next 
End Sub 

하자 POI이 새로운 통합 문서로 Excel 파일 읽기 모든 데이터를 파일에 씁니다 (이 예에서는 열 A를 비워 둡니다). 이 예에서는 'B'열에 값/텍스트가있는 'A'열의 모든 셀에 체크 박스를 추가합니다.

FileOutputStream out = new FileOutputStream("path to your file/file_with_checkboxes.xlsm"); 

는 파일을 만듭니다 :

Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open("path to your file/file_with_checkboxes.xlsm") 
objExcel.Application.Visible = True 
objExcel.Application.Run "file_with_checkboxes.xlsm!addCheckBoxes" 

사용 자바 : start_excel_file.vbs 텍스트로 코드를 추가 그것은 파일로 통합 문서를 작성 1000

까지 3 행에서 모든 행을 검사 이 파일을 실행하여 명령 줄을 통해 파일을 엽니 다. start_excel_file.vbs

start_excel_file.vbs 파일의 코드는 Excel 파일을 열고 시작시 체크 박스는 addCheckBoxes() 매크로를 사용합니다. (매크로가 활성화되어 있어야합니다!)

이 코드에서는 Excel 파일에는 보이지 않지만 선택된 경우에는 TRUE로 설정되고 이후에는 FALSE로 설정됩니다. POI 파일을 Java로 다시 읽으면 확인란을 무시하지만 부울 텍스트를 읽을 수 있으므로 Java에서는 설정이 무엇인지/설정인지 알 수 있습니다. (비어 있거나 거짓 = 참/참을 참)

희망이 도움이되고 행운 = ^)

관련 문제