excel读写

package tools;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
 *
 * @author shiwt
 *
 * java读取excel文件
 *
 * 一个Excel文件的层次:Excel文件->工作表->行->单元格 对应到POI中,为:workbook->sheet->row->cell
 *
 */
public class Excel
{
    public static String outputFile   = "f://test//tels.xls";
    public static String fileToBeRead = "f://test//tels.xls";
   
    public void CreateExcel()
    {
        try
        {
            // 创建新的Excel 工作簿
            HSSFWorkbook workbook = new HSSFWorkbook();
            // 在Excel工作簿中建一工作表,其名为缺省值
            // 如要新建一名为"效益指标"的工作表,其语句为:
            // HSSFSheet sheet = workbook.createSheet("效益指标");
            HSSFSheet sheet = workbook.createSheet();
            // 在索引0的位置创建行(最顶端的行)
            HSSFRow row = sheet.createRow((short) 0);
            // 在索引0的位置创建单元格(左上端)
            HSSFCell cell = row.createCell((short) 0);
            // 定义单元格为字符串类型
            cell.setCellType(HSSFCell.CELL_TYPE_STRING);
            // 在单元格中输入一些内容
            cell.setCellValue("sweater");
            // 新建一输出文件流
            FileOutputStream fOut = new FileOutputStream(outputFile);
            // 把相应的Excel 工作簿存盘
            workbook.write(fOut);
            fOut.flush();
            // 操作结束,关闭文件
            fOut.close();
            System.out.println("文件生成...");
        } catch (Exception e)
        {
            System.out.println("已运行 xlCreate() : " + e);
        }
    }
   
    /**
     *
     * 读取excel,遍历各个小格获取其中信息,并判断其是否是手机号码,并对正确的手机号码进行显示 注意: 1.sheet,
     * 以0开始,以workbook.getNumberOfSheets()-1结束 2.row,
     * 以0开始(getFirstRowNum),以getLastRowNum结束 3.cell,
     * 以0开始(getFirstCellNum),以getLastCellNum结束, 结束的数目不知什么原因与显示的长度不同,可能会偏长
     *
     */
    public void readExcel()
    {
        // 将被表示成1.3922433397E10的手机号转化为13922433397,不一定是最好的转换方法
        DecimalFormat df = new DecimalFormat("#");
        try
        {
            // 创建对Excel工作簿文件的引用
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
                    fileToBeRead));
            /**
             * 获取sheet的个数 workbook.getNumberOfSheets()
             */
            // System.out.println("===SheetsNum===" +
            // workbook.getNumberOfSheets());//获取sheet数
            for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++)
            {
                if (null != workbook.getSheetAt(numSheets))
                {
                    HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
                    // System.out.println("+++getFirstRowNum+++" +
                    // aSheet.getFirstRowNum());//
                    // System.out.println("+++getLastRowNum+++" +
                    // aSheet.getLastRowNum());
                    for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet
                            .getLastRowNum(); rowNumOfSheet++)
                    {
                        if (null != aSheet.getRow(rowNumOfSheet))
                        {
                            HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
                            // System.out.println(">>>getFirstCellNum<<<"+
                            // aRow.getFirstCellNum());
                            // System.out.println(">>>getLastCellNum<<<"+
                            // aRow.getLastCellNum());
                            for (short cellNumOfRow = 0; cellNumOfRow <= aRow
                                    .getLastCellNum(); cellNumOfRow++)
                            {
                                if (null != aRow.getCell(cellNumOfRow))
                                {
                                    HSSFCell aCell = aRow.getCell(cellNumOfRow);
                                    int cellType = aCell.getCellType();
                                    // System.out.println(cellType);
                                    switch (cellType)
                                    {
                                        case 0:// Numeric
                                            String strCell = df.format(aCell
                                                    .getNumericCellValue());
                                            System.out.println(strCell);
                                           
                                            break;
                                        case 1:// String
                                            strCell = aCell
                                                    .getStringCellValue();
                                            System.out.println(strCell);
                                           
                                            break;
                                        default:
                                            // System.out.println("格式不对不读");//其它格式的数据
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } catch (Exception e)
        {
            System.out.println("ReadExcelError" + e);
        }
    }
   
    public static void main(String[] args)
    {
        Excel poi = new Excel();
        // poi.CreateExcel();
        poi.readExcel();
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库客户端 在D:/instantclient_11_2目录下新建目录network,在network目录下再新建admin目录,在admin目录下新建文件tnsnames.ora,使用文本编辑器打开写入如下内容: MWDB= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = MWDB) ) ) 2、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径。比如我的本机为:D:/instantclient_11_2/network/admin 3、设置ORACLE的语言,添加环境变量NLS_LANG ,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 第一个黄色字块:表示定义远程服务器的在本地主机名 第二个黄色字块:远程数据库实例名 如果不清楚远程数据库的ORACLE 语言,可以ssh或者telnet到远程机器,在命令界面输入,用命令行连接到数据库。 select * from nls_instance_parameters; 查看NLS_LANGUAGE 的值 NLS_LANGUAGE NLS_TERRITORY 4、下载并安装PL.SQL.Developer配置应用 貌似把环境变量Path添加了instantclient就可以了,不需要具体的设置。 配置tools->preferences->connection Oracle Home     D:/instantclient_11_2 OCI library     D:/instantclient_11_2/oci.dll 中文的PL/SQL Developer就是 工具–>首选项–>连接 Oracle主目录     D:/instantclient_11_2 OCI库     D:/instantclient_11_2/oci.dll 5.添加系统属性中的环境变量Path:D:/instantclient_11_2/可以保证在cmd中使用sqlplus链接到远程的oracle sqlplus TAXYS1_1/TAXYS1_1 @'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.225)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = ORCL)))’ sqlplus TAXYS1_1/TAXYS1_1@'(description=(address_list=(address=(proto=tcp)(host=192.168.0.225)(port=1521)))(connect_data=(service_name=orcl)))’ sqlplus TAXYS1_1/TAXYS1_1@192.168.0.225:1521/orcl --------------------- 作者:我在爱的国 来源:CSDN 原文:https://blog.csdn.net/magaiou/article/details/80322685 版权声明:本文为博主原创文章,转载请附上博文链接!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值