在Excel中錄入數據的同時可能會需要插入一些表單控制項作為輔助功能。通過表單控制項,用戶可快速地將數據填寫到模塊文檔中。Excel文檔中的常見表單控制項有文本框、單選按鈕、複選框和組合框。本文就將通過使用Java程序來演示如何添加、刪除Excel表單控制項。
本文代碼演示所用到的工具是Free Spire.XLS for Java。可通過E-iceblue中文官網免費下載獲取,下載後解壓文檔,並將lib文件夾下的Spire.Xls.jar導入Java程序。
另外,也可直接通過maven倉庫安裝產品及導入相關依賴包。
示例1 添加表單控制項
import com.spire.xls.*;import com.spire.xls.core.*;import java.awt.*;public class AddControls { public static void main(String[] args) { //創建Workbook實例 Workbook workbook = new Workbook(); //獲取第一個工作表 Worksheet sheet = workbook.getWorksheets().get(0); sheet.getCellRange(&34;).setText(&34;); //添加文本框 ITextBoxShape textbox = sheet.getTextBoxes().addTextBox(2, 2, 18, 65); textbox.setText(&34;); textbox.getFill().setForeColor(Color.PINK); textbox.setHAlignment(CommentHAlignType.Center); textbox.setVAlignment(CommentVAlignType.Center); sheet.getCellRange(&34;).setText(&34;); //添加單選按鈕1 IRadioButton radiobutton1 = sheet.getRadioButtons().add(4, 2, 18, 65); radiobutton1.setText(&34;); radiobutton1.setCheckState(CheckState.Checked); //添加單選按鈕2 IRadioButton radiobutton2 = sheet.getRadioButtons().add(4, 4, 18, 65); radiobutton2.setText(&34;); sheet.getCellRange(&34;).setText(&34;); //添加複選框1 ICheckBox checkbox1 = sheet.getCheckBoxes().addCheckBox(6, 2, 18, 65); checkbox1.setCheckState(CheckState.Checked); checkbox1.setText(&34;); //添加複選框2 ICheckBox checkbox2 = sheet.getCheckBoxes().addCheckBox(6, 4, 18, 65); checkbox2.setCheckState(CheckState.Checked); checkbox2.setText(&34;); sheet.getCellRange(&34;).setText(&34;); sheet.getCellRange(&34;).setText(&34;); sheet.getCellRange(&34;).setText(&34;); sheet.getCellRange(&34;).setText(&34;); //添加組合框 IComboBoxShape combobox = sheet.getComboBoxes().addComboBox(8, 2, 18, 65); combobox.setListFillRange(sheet.getCellRange(&34;)); combobox.setSelectedIndex(2); sheet.getCellRange(&34;).setText(&34;); //添加微調按鈕 ISpinnerShape spinnerShape = sheet.getSpinnerShapes().addSpinner(10,2,18,30); spinnerShape.setCurrentValue(1); spinnerShape.setDisplay3DShading(true); spinnerShape.setLinkedCell(sheet.getCellRange(&34;)); spinnerShape.setMin(1); spinnerShape.setMax(5); //保存文檔 workbook.saveToFile(&34;, ExcelVersion.Version2013); }}
添加效果:
示例 2 刪除表單控制項
import com.spire.xls.*;public class RemoveControls { public static void main(String[] args) { //創建Workbook實例 Workbook workbook = new Workbook(); //加載Excel文檔 workbook.loadFromFile(&34;); //獲取第一個工作表 Worksheet sheet = workbook.getWorksheets().get(0); //刪除工作表中的所有單選按鈕 for(int j = 0; j < sheet.getRadioButtons().getCount(); j ++){ sheet.getRadioButtons().get(j).remove(); } //刪除工作表中的所有複選框 for(int i = 0; i < sheet.getCheckBoxes().getCount(); i ++){ sheet.getCheckBoxes().get(i).remove(); } //保存文檔 workbook.saveToFile(&34;, ExcelVersion.Version2013); }}
刪除效果:
(本文完)