excel封装软件,电子表格excel封装成exe
1. excel封装成exe
可以用py2exe
输入pip install py2exe
新建一个setup.py文件
然后在setup.py里写
然后输入python
setup.py
py2exe即可。之后查看dist文件夹,里面就是了!不过没办法至生成一个exe,需要一些用来支持的库
2. excel 封装
首先要导入spring相关包,poi,和fileupload包,我是使用maven构建的。
一.导入excel
(1)使用spring上传文件
a.前台页面提交
<form name="excelImportForm" action="${pageContext.request.contextPath}/brand/importBrandSort" method="post" enctype="multipart/form-data" id="excelImportForm">
<input type="hidden" name="ids" id="ids">
<div >
<div >
<label ><input id="excel_file" type="file" name="filename" accept="xls"/></label>
<div >
<input id="excel_button" type="submit" value="导入Excel"/>
</div>
</div>
</div>
<div >
<button type="button" data-dismiss="modal" >取消</button>
</div>
b.后台spring的controller进行相关操作,这里主要讲的是使用spring上传文件,和读取文件信息。
使用spring上传文件之前,需要配置bean。
<bean id="multipartResolver" ></bean>@RequestMapping(value = "/importBrandSort", method = RequestMethod.POST)
public ModelAndView importBrandSort(@RequestParam("filename") MultipartFile file,
HttpServletRequest request,HttpServletResponse response) throws Exception {
String temp = request.getSession().getServletContext()
.getRealPath(File.separator)
+ "temp"; // 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(10 * 1024 * 1024); // 设置允许用户上传文件大小,单位:位
fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:位
fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
// 开始读取上传信息
//
int index = 0;
/* List fileItems = null;
try {
fileItems = fu.parseRequest(request);
}
catch (Exception e) {
e.printStackTrace();
}
Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件
FileItem fileItem = null;
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
fileItem = item;
// index++;
}
}
if (fileItem == null)
return null;
*/
if (file == null)
return null;
logger.info(file.getOriginalFilename());
String name = file.getOriginalFilename();// 获取上传文件名,包括路径
//name = name.substring(name.lastIndexOf("\\") + 1);// 从全路径中提取文件名
long size = file.getSize();
if ((name == null || name.equals("")) && size == 0)
return null;
InputStream in = file.getInputStream();
List<BrandMobileInfoEntity> BrandMobileInfos = brandService
.importBrandPeriodSort(in);
// 改为人工刷新缓存KeyContextManager.clearPeriodCacheData(new
// PeriodDimensions());// 清理所有缓存
int count = BrandMobileInfos.size();
String strAlertMsg ="";
if(count!=0){
strAlertMsg= "成功导入" + count + "条!";
}else {
strAlertMsg = "导入失败!";
}
logger.info(strAlertMsg);
//request.setAttribute("brandPeriodSortList", BrandMobileInfos);
//request.setAttribute("strAlertMsg", strAlertMsg);
request.getSession().setAttribute("msg",strAlertMsg);
return get(request, response);
//return null;
}
代码中的注释部分是如果不使用spring的方式,如何拿到提交过来的文件名(需要是要apache的一些工具包),其实使用spring的也是一样,只是已经做好了封装,方便我们写代码。
代码中的后半部分是读取完上传文文件的信息和对数据库进行更新之后,输出到前台页面的信息。
上述代码中: InputStream in = file.getInputStream();
List<BrandMobileInfoEntity> BrandMobileInfos = brandService
.importBrandPeriodSort(in);读取excel的信息。
(2)使用poi读取excel
a.更新数据库
@Override
public List<BrandMobileInfoEntity> importBrandPeriodSort(InputStream in) throws Exception {
List<BrandMobileInfoEntity> brandMobileInfos = readBrandPeriodSorXls(in);
for (BrandMobileInfoEntity brandMobileInfo : brandMobileInfos) {
mapper.updateByConditions(brandMobileInfo);
}
return brandMobileInfos;
}
这部分是sevice层的代码,用于读取excel信息之后更新数据库数据,我这里是使用mybatis。定义一个类BrandMobileInfoEntity,用与保存excel表每一行的信息,而List< BrandMobileInfoEntity > 则保存了全部信息,利用这些信息对数据库进行更新。
b.读取excel信息
private List<BrandMobileInfoEntity> readBrandPeriodSorXls(InputStream is)
throws IOException, ParseException {
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
List<BrandMobileInfoEntity> brandMobileInfos = new ArrayList<BrandMobileInfoEntity>();
BrandMobileInfoEntity brandMobileInfo;
// 循环工作表Sheet
for (int numSheet = 0;
numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
brandMobileInfo = new BrandMobileInfoEntity();
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
for (int i = 0; i < hssfRow.getLastCellNum(); i++) {
HSSFCell brandIdHSSFCell = hssfRow.getCell(i);
if (i == 0) {
brandMobileInfo.setBrandId(Integer
.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 1) {
continue;
} else if (i == 2) {
brandMobileInfo.setMobileShowFrom(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 3) {
brandMobileInfo.setMobileShowTo(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 4) {
brandMobileInfo.setSellMarkValue(getCellValue(brandIdHSSFCell));
} else if (i == 5) {
brandMobileInfo.setWarehouse(getCellValue(brandIdHSSFCell));
} else if (i ==
3. excel封装成exe不依赖环境
1.
先打开电脑上面的excel,然后我们可以看到变白了;
2.
点击视图;
3.
然后点击勾选上网格线;
4.
之后就可以看到网格线了;
5.想要取消网格线,只需要将网格线点击取消掉勾选;
6.之后我们看到又变白了;
7.最后,我们点击勾选上网格线恢复到最初的状态。
4. excel封装函数
最好将各部门耗材及统计表放在同一工作簿中,一个工作簿可容纳255个工作表。同一工作簿的不同工作表之间用关联产生统计表。这样拷贝时只有一个文件,应该不会出现找不到数据源等错误。
为了安全可以对各个工作表进行保护,并分别设置不同的密码。如果在局域网中,还可以设为共享工作簿,由部门直接在各工作表中填入数据。
另外一个问题,可点“工具”->“选项”->“重新计算”,选中“自动重算”及“更新远程引用”和“保存外部链接数据”三项,点“确定”。
5. excel封装成apk
蓝牙可以传输zip压缩文件,apk安装软件和txt等文档,文本文件,就连微软的三大金刚,Ppt,word,excel都能够进行传输。
同时南阳也就相当于速度比较慢的wifi网络,同时传输去,也没有wifi广大。
但是蓝牙的话,在相近的设备传输的话,是比较方便的,所以在一般情况下,没有wifi会选择蓝牙传输。
6. excel封装成查询软件
可以的,vba可以封装成exe文件
把工程属性设置成标准exe文件,设置好启动对象
用shell调用
7. excel封装机
使用VB可以。
使用VBA可做到类似效果,即在打开excel文件后隐藏文件主窗体而显示userform,命令行为: Application.Visible=False8. excel如何封装成软件
视图”>“工具栏”>“自定义...”>“命令”>左边的方框中选“宏”>右边的方框中将“自定义按钮”拖到菜单栏上任意一个图标旁边>点“关闭”关掉对话框>点击菜单栏上刚刚拖上去的图标>在弹出的对话框中“宏名”处填入“你要的名字”>点“确定”,这个图标就已经与“你要的名字”关联好了。
9. excel封装成exe 破解
多喽。
先说启动,一双击桌面的Excel快捷图标;二单击程序菜单里的图标;三进入Excel的安装文件夹,找到Excel.exe,双击运行;四,将Excel的桌面快捷图标拖动到程序文件夹的启动中,系统启动时让它与系统一起自动启动;五写一个批处理文件,内容是调用Excel.exe,双击此批处理文件启动它;六写一个VBS文件……不说了。
10. excel封装成exe实例
后缀好改,就怕文件也被破坏了,打开文件夹选项-查看-隐藏已知文件类型的扩展名 选项的勾去掉就行了,然后就能改后缀了。