日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java swing 打开文件_java swing实现打开Excel文件并进行处理

發布時間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java swing 打开文件_java swing实现打开Excel文件并进行处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里選擇Excel文件是業務需要,話不多說

1、引入對Excel處理的相關依賴

org.apache.poi

poi

3.16

org.apache.poi

poi-ooxml

3.16

2、進行swing的相關布局

代碼:

package com.mozarta;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import javax.swing.;

import javax.swing.border.EmptyBorder;

import java.awt.;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

public class UITest extends JFrame {

private JButton btn;

private JPanel contentPane; //內容面板

private JTextField textField; //文本框

public UITest(){

setTitle("選擇文件"); //設置窗體的標題

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置窗體退出時操作

setBounds(100, 100, 800, 400); //設置窗體位置和大小

contentPane=new JPanel(); //創建內容面板

contentPane.setBorder(new EmptyBorder(100,5,5,5)); //設置面板的邊框

contentPane.setLayout(new BorderLayout(0,0)); //設置內容面板為邊界布局

setContentPane(contentPane); //應用內容面板

JPanel panel1=new JPanel(); //新建面板用于保存文本框

panel1.setBounds(5,100,800,100);

contentPane.add(panel1,BorderLayout.NORTH); //將面板放置在邊界布局的北部

textField=new JTextField(); //新建文本框

panel1.add(textField); //將文本框增加到面板中

textField.setPreferredSize(new Dimension (400,40));

final JButton btn=new JButton("選擇文件");

btn.setPreferredSize(new Dimension (100,40));

panel1.add(btn);

btn.setBackground(Color.GREEN);

JPanel panel2=new JPanel(); //新建面板用于保存按鈕

contentPane.add(panel2, BorderLayout.CENTER); //將面板放置在邊界布局的中央

JButton okBtn=new JButton("確定");

okBtn.setPreferredSize(new Dimension(100,40));

panel2.add(okBtn);

setVisible(true);

btn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

//按鈕點擊事件

JFileChooser chooser = new JFileChooser(); //設置選擇器

chooser.setMultiSelectionEnabled(true); //設為多選

int returnVal = chooser.showOpenDialog(btn); //是否打開文件選擇框

System.out.println("returnVal="+returnVal);

if (returnVal == JFileChooser.APPROVE_OPTION) { //如果符合文件類型

String filepath = chooser.getSelectedFile().getAbsolutePath(); //獲取絕對路徑

System.out.println(filepath);

textField.setText(filepath);

}

}

});

/* 確定點擊 */

okBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String filepath=textField.getText();

if("".equals(filepath)||filepath==null){

JOptionPane.showMessageDialog(getContentPane(), "請先選擇文件~",

"警告", JOptionPane.WARNING_MESSAGE);

return;

}

String suffix=filepath.substring(filepath.lastIndexOf(".")+1);

System.out.println(suffix);

if(!(suffix.equals("xlsx")||(suffix.equals("xls")))){

JOptionPane.showMessageDialog(getContentPane(), "請選擇Excel文件~",

"警告", JOptionPane.WARNING_MESSAGE);

return;

}

/* 打開文件 */

try {

openFile(filepath);

} catch (Exception e1) {

e1.printStackTrace();

}

}

});

}

/* 打開對應的Excel文件 */

public void openFile(String filepath) throws IOException {

FileInputStream fileInputStream = new FileInputStream(new File(filepath));

XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);

XSSFSheet sheet = workbook.getSheetAt(0);

System.out.println(sheet.getLastRowNum());

queryRows(workbook,"設計");

}

/* 檢索需要信息 */

public java.util.ListqueryRows(XSSFWorkbook workbook, String keys){

Listlist=new ArrayList<>();

XSSFSheet sheet = workbook.getSheetAt(0);

for(int i=2;i<=sheet.getLastRowNum();i++){

System.out.println(sheet.getRow(i).getCell(2).getStringCellValue());

if(sheet.getRow(i).getCell(2).getStringCellValue().contains(keys)){

list.add(sheet.getRow(i));

}

}

return list;

}

public static void main(String[] args) {

new UITest();

}

}

后續對Excel的處理可以用戶自行實現,代碼只是對選擇的是否是Excel文件進行判斷,并且根據業務需要都所打開的Excel文件進行檢索。

總結

以上是生活随笔為你收集整理的java swing 打开文件_java swing实现打开Excel文件并进行处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。