(1)在网上搜索,然后下载
poi-3.12-android-a.jar
poi-ooxml-schemas-3.12-20150511-a.jar
(2)安装库
用我的mqtt里面的方法。
(3)网上搜索这个库的使用代码
(4)解决问题
我想在我的APP里面读写excel文档,然后在手机的文件管理里面查看这个excel文档。我找了一个例子,在app里面写了一个excel文档。
问题一、我在想文档存放在哪里呢?看下面的代码吧。
printlnToUser("writing file " + outFileName); File cacheDir = getActivity().getApplicationContext().getCacheDir(); File outFile = new File(cacheDir, outFileName); OutputStream outputStream = new FileOutputStream(outFile.getAbsolutePath()); workbook.write(outputStream); outputStream.flush(); outputStream.close(); 我突然想到办法,添加下面的代码,把路径打印出来。 printlnToUser(outFile.getAbsolutePath());
结果是:/data/user/0/com.xxx/cache/test.xlsx
问题二、怎么看这个文件呢?
我打开termux去这个路径里面找这个文件夹。结果说没有权限。我又找了获取root权限的方法。
我按照网页操作,执行下面命令:
pkg install update
pkg install tsu
结果是没法安装上。我找不到原来的网页了,我贴出方法。
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
这样就可以执行了上面的安装命令了。
我在终端输入:tsu,结果还是说没有权限。
问题三、
搞来搞去,我终于明白了。手机分成内部存储器和外部存储器。在手机上看到的是外部存储器。我又想,自己找一个路径,自己设置。结果又是失败。
问题四、
既然这招不通,我尝试利用下载的里面里面分享到QQ的功能。结果总是提示获取失败。是不是没有读写内存的权限呢?查了一下,手机权限管理里面没有找到我的APP,怎么设置呢?最后我放弃这个方法。
问题五、
3月16日,因为疫情的原因,我自己一个待租房里面到今天3月19日。因为电脑卡,上面几个问题我都搞了足足4天。3月19日下午的时候,我打算放弃了,采用其他方法存放数据。我抽了一根烟。想着用Sqlite的方法还是用其他方法。我决定用Sqlite的方法。然后突然灵光一现,要不查一下手机读写内存的方法。我找到这个网页《Android之获取内、外置存储器路径》。我看到getExternalCacheDir(),我终于明白了。我把上面的一行代码改成这样:
File cacheDir = getActivity().getApplicationContext().getExternalCacheDir();
文档放在:/storage/emulated/0/Android/data/com.xxx/cache
打开文件管理器,在Android/data/com.xxx/cache
到此,终于解决了,APP读写execl文件,文件管理器查看文件的问题了。