标签:12 hssfRow app time HSSFCell 2021 getCell hssfSheet setCellValue
将SQLite数据库的数据写到excel表里。
1、用java代码操作excel表需要用poi,poi导包有很多问题,不能有多余的包,可能会有重复内容;其他附带的包也不能少,会报错。
2、代码:
1 public void makeExecl() 2 { 3 sqLhelper=new SQLhelper(getActivity(),"Temperature",null,1); 4 SQLiteDatabase RsqliteDatabase=sqLhelper.getReadableDatabase(); 5 String time=new SimpleDateFormat("yyyy/MM/dd").format(new Date()); 6 Cursor c=RsqliteDatabase.rawQuery("select * from lastuser", null); 7 c.moveToFirst(); 8 String lastname=c.getString(c.getColumnIndex("name")).toString(); 9 String lastphone=c.getString(c.getColumnIndex("phone")).toString(); 10 String lastnum=c.getString(c.getColumnIndex("num")).toString(); 11 c=RsqliteDatabase.rawQuery("select * from tempera where name='"+lastname+"' order by time desc", null); 12 c.moveToFirst(); 13 try { 14 verifyStoragePermissions(getActivity()); 15 InputStream inputStream = new FileInputStream("data/data/com.example.seanfu/14天健康登记样表.xls"); 16 if(inputStream==null) 17 { 18 Toast.makeText(getActivity(),"aaa",Toast.LENGTH_SHORT).show(); 19 }else{ 20 HSSFWorkbook hssfWorkbook= new HSSFWorkbook(inputStream); 21 HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); 22 HSSFRow hssfRow2 = hssfSheet.getRow(1); 23 HSSFRow hssfRow3 = hssfSheet.getRow(2); 24 HSSFRow hssfRow4 = hssfSheet.getRow(3); 25 HSSFRow hssfRow21 = hssfSheet.getRow(21); 26 HSSFCell school = hssfRow2.getCell(1); 27 HSSFCell timecell = hssfRow2.getCell(5); 28 HSSFCell namecell = hssfRow3.getCell(1); 29 HSSFCell numcell = hssfRow3.getCell(5); 30 HSSFCell healthcell = hssfRow4.getCell(1); 31 HSSFCell phonecell = hssfRow4.getCell(5); 32 HSSFCell signcell = hssfRow21.getCell(2); 33 HSSFCell signtimecell = hssfRow21.getCell(5); 34 school.setCellValue("石家庄铁道大学"); 35 timecell.setCellValue(time); 36 namecell.setCellValue(lastname); 37 numcell.setCellValue(lastnum); 38 phonecell.setCellValue(lastphone); 39 healthcell.setCellValue(gethealth(lastnum,time)); 40 signcell.setCellValue(lastname); 41 signtimecell.setCellValue(time); 42 for(int i=19, t=0;i>5;i--,t++) 43 { 44 HSSFRow hssfRow = hssfSheet.getRow(i); 45 HSSFCell cell = hssfRow.getCell(0); 46 HSSFCell cell1 = hssfRow.getCell(1); 47 HSSFCell cell2 = hssfRow.getCell(2); 48 HSSFCell cell3 = hssfRow.getCell(3); 49 HSSFCell cell4 = hssfRow.getCell(5); 50 int month=Integer.valueOf(time.split("/")[1]); 51 int day=Integer.valueOf(time.split("/")[2])-t; 52 if(day<=0) 53 { 54 month--; 55 day+=28; 56 } 57 String time_m=""; 58 String time_d=""; 59 time_m=String.valueOf(month); 60 time_d=String.valueOf(day); 61 cell.setCellValue(time_m+"月"+time_d+"日"); 62 String m=String.valueOf(month);String d=String.valueOf(day); 63 if(m.length()==1) m="0"+m;if(d.length()==1) d="0"+d; 64 String Temp=time.split("/")[0]+"/"+m+"/"+d; 65 Cursor q = RsqliteDatabase.rawQuery("select * from tempera where num='" + lastnum + "' and time1='" + Temp + "' order by time desc",null); 66 q.moveToFirst(); 67 if(q.getCount()!=0) 68 { 69 cell1.setCellValue(q.getString(q.getColumnIndex("temperature")).toString()); 70 cell2.setCellValue(gethealth(Float.parseFloat(q.getString(q.getColumnIndex("temperature")).toString()))); 71 cell3.setCellValue(q.getString(q.getColumnIndex("location")).toString()); 72 cell4.setCellValue(q.getString(q.getColumnIndex("info")).toString()); 73 }else{ 74 cell1.setCellValue("无记录"); 75 cell2.setCellValue("无记录"); 76 cell3.setCellValue("无记录"); 77 cell4.setCellValue("无记录"); 78 } 79 } 80 OutputStream fos = new FileOutputStream("data/data/com.example.seanfu/14天健康登记样表.xls"); 81 hssfWorkbook.write(fos); 82 fos.flush(); 83 fos.close(); 84 Toast.makeText(getActivity(),"生成成功:"+"\"data/data/com.example.seanfu/14天健康登记样表.xls",Toast.LENGTH_SHORT).show(); 85 } 86 } catch (FileNotFoundException e) { 87 e.printStackTrace(); 88 } catch (IOException e) { 89 e.printStackTrace(); 90 } 91 }
标签:12,hssfRow,app,time,HSSFCell,2021,getCell,hssfSheet,setCellValue 来源: https://www.cnblogs.com/fuxw4971/p/14526636.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。