java代码怎么判断文件的格式是excel文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码怎么判断文件的格式是excel文件相关的知识,希望对你有一定的参考价值。
匹配后缀名。
用
xls
xlsx
xlsm
1.两点需要注意
1.string.spilt("\\\\.")分割字符串成子字符串数组,以“.”分割,必须写成string.spilt("\\\\.")的方式,不能写成string.spilt(".")。斜线必须是反斜线且。
2.获取分割后的字符串数组,要获得最后一个item的index ,方式是int suffixIndex = strArray.length -1;
public String getFileType(String fileName)String[] strArray = fileName.split("\\\\.");
int suffixIndex = strArray.length -1;
System.out.println(strArray[suffixIndex]);
return "strArray[suffixIndex]";
参考技术A /**
*传入目录,判断是否是xls文件,并返回名字
*/
public static List<String> getFileList(File file)
List<String> result = new ArrayList<String>();
//isDirectory() 测试是否是路径
if (!file.isDirectory())
System.out.println(file.getAbsolutePath());
result.add(file.getAbsolutePath());
else
File[] directoryList = file.listFiles(new FileFilter()
public boolean accept(File file)
//isFile() 判断file是否是一个文件而不是一个目录
//.getName().indexOf("txt") 判断文件的名称中带有xls 并且xls不是开头
if (file.isFile() && file.getName().indexOf("xls") > -1)
return true;
else
return false;
);
for (int i = 0; i < directoryList.length; i++)
result.add(directoryList[i].getPath());
//返回判断完成的txt后缀的文件路径
return result;
参考技术B 参考代码:
// 读取文件 解析excel
String fileType = filePath.substring(filePath.lastIndexOf(".") + 1,
filePath.length());
InputStream stream = AliyunOssUtil.downloadObj(filePath);
Workbook wb = null;
if ("xls".equals(fileType))
wb = new HSSFWorkbook(stream);
else if ("xlsx".equals(fileType))
wb = new XSSFWorkbook(stream);
else
System.out.println("您输入的excel格式不正确");
参考技术C 匹配后缀名。
用String.endsWith(".xls");
xls
xlsx
xlsm
如果就没有后缀名的文件判断是不是excel文件,那我也不会。本回答被提问者采纳 参考技术D 匹配后缀名。 用String.endsWith(".xls"); xls xlsx xlsm 如果就没有后缀名的文件判断是不是excel文件,那我也不会。
Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd
Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd的形式,当我打开excle 文件里面的日期格式是yyyy/mm/dd 的只有我双击之后才会显示我要的格式。请问是怎么回事?
你写入的yyyy-mm-dd而显示yyyy/mm/dd这是正常的,表示EXCEL理解了你写入的数据是日期格式,显示的时候由于没有指定单元格的格式,所以系统以默认的yyyy/mm/dd格式显示,这个其实没关系。如果你特别希望显示为yyyy-mm-dd格式,可以写入内容前增加一个单引号(半角英文),这样强制告诉EXCEL这是个文本,不要理解为日期。
还有一个办法,就是JAVA里面写入数据完毕,设置单元格的格式为yyyy-mm-dd,通过设置.NumberFormat 属性为 "yyyy-mm-dd"实现。追问
只能在代码里设置格式吗?不能在出力的模板里设置?
追答当然可以在模版里面设置,设置单元格格式为日期里面的yyyy/mm/dd即可,JAVA写入日期后会自动显示为指定的格式。
参考技术A 可以把单元格设置为文本格式,直接传进去字符串就可以HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
HSSFDataFormat format = demoWorkBook.createDataFormat();
cellStyle2.setDataFormat(format.getFormat("@"));
cell.setCellStyle(cellStyle2);
以上是关于java代码怎么判断文件的格式是excel文件的主要内容,如果未能解决你的问题,请参考以下文章
java导出excel,excel打不开,报文件格式无效,怎么解决!
java 如何 判断 读入excel文件的版本(2003?2007?) 请高手指点