누군가이 질문을했습니다 : How do I create form controls (radio, checkbox, buttons, etc.) in Excel using Apache POI (Java)? 아직 답변이 없습니다.Apache Poi를 사용하여 Excel 체크 박스를 만들 수 있습니까?
또한 특정 행을 읽기 전용으로 설정할 수 있습니까?
누군가이 질문을했습니다 : How do I create form controls (radio, checkbox, buttons, etc.) in Excel using Apache POI (Java)? 아직 답변이 없습니다.Apache Poi를 사용하여 Excel 체크 박스를 만들 수 있습니까?
또한 특정 행을 읽기 전용으로 설정할 수 있습니까?
없음되지 지금까지 내가 아는 한,하지만 당신은 엑셀이이 방식으로 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에서는 설정이 무엇인지/설정인지 알 수 있습니다. (비어 있거나 거짓 = 참/참을 참)
희망이 도움이되고 행운 = ^)