>Java >Java시작하기 >Java는 Excel에서 수식 생성 및 읽기를 구현합니다.

Java는 Excel에서 수식 생성 및 읽기를 구현합니다.

王林
王林앞으로
2020-01-10 17:10:153421검색

Java는 Excel에서 수식 생성 및 읽기를 구현합니다.

엑셀 표를 조작하고 수식을 사용해 데이터를 처리할 때 수식을 만들어 데이터를 계산하거나 수식을 읽어 데이터 정보의 출처를 얻을 수 있습니다. 여기서는 Java 클래스 라이브러리(Java 무료 버전용 Free Spire.XLS)를 사용하여 파일 패키지를 구하고 압축을 풀고 lib 폴더에 있는 jar 파일을 Java 프로그램으로 가져옵니다.

그림에 표시된 바와 같이 :

Java는 Excel에서 수식 생성 및 읽기를 구현합니다.

(무료 비디오 튜토리얼 공유 : java 비디오 자습서)

1
import com.spire.xls.*;

public class AddFormula {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook wb = new Workbook();

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //声明两个变量
        int currentRow = 1;
        String currentFormula = null;

        //设置列宽
        sheet.setColumnWidth(1, 32);
        sheet.setColumnWidth(2, 16);

        //写入用于测试的数据到单元格
        sheet.getCellRange(currentRow,1).setValue("测试数据:");
        sheet.getCellRange(currentRow,2).setNumberValue(1);
        sheet.getCellRange(currentRow,3).setNumberValue(2);
        sheet.getCellRange(currentRow,4).setNumberValue(3);
        sheet.getCellRange(currentRow,5).setNumberValue(4);
        sheet.getCellRange(currentRow,6).setNumberValue(5);

        //写入文本
        currentRow += 2;
        sheet.getCellRange(currentRow,1).setValue("公式:") ; ;
        sheet.getCellRange(currentRow,2).setValue("结果:");

        //设置单元格格式
        CellRange range = sheet.getCellRange(currentRow,1,currentRow,2);
        range.getStyle().getFont().isBold(true);
        range.getStyle().setKnownColor(ExcelColors.LightGreen1);
        range.getStyle().setFillPattern(ExcelPatternType.Solid);
        range.getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Medium);

        //算数运算
        currentFormula = "=1/2+3*4";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //日期函数
        currentFormula = "=TODAY()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);
        sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("YYYY/MM/DD");

        //时间函数
        currentFormula = "=NOW()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);
        sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("H:MM AM/PM");

        //IF函数
        currentFormula = "=IF(B1=5,\"Yes\",\"No\")";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //PI函数
        currentFormula = "=PI()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //三角函数
        currentFormula = "=SIN(PI()/6)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //计数函数
        currentFormula = "=Count(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //最大值函数
        currentFormula = "=MAX(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //平均值函数
        currentFormula = "=AVERAGE(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //求和函数
        currentFormula = "=SUM(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //保存文档
        wb.saveToFile("AddFormulas.xlsx",FileFormat.Version2013);
        wb.dispose();
    }
}

수식 읽기 결과:

Java는 Excel에서 수식 생성 및 읽기를 구현합니다.추천 관련 기사 튜토리얼:

java 빠른 시작

위 내용은 Java는 Excel에서 수식 생성 및 읽기를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제