数据导入导出

[size=medium][color=darkred]导出Txt范例,其他格式(Word,Excel,Pdf)导出请看附件[/color][/size]

/**
* 导出Txt文件
*
* @author Sehoney
* @param path
* @param result_col
* @return
* @throws Exception
*/
private Boolean exportTxt(String path, Collection result_col)
throws Exception {
// 查找文件,假如不存在,就创建
File file = new File(path + ".txt");

if (!file.exists()) {
file.createNewFile();
}

PrintWriter out = null;
out = new PrintWriter(new BufferedWriter(new FileWriter(path + ".txt")));
// 将数据写入文件
StringBuffer content = new StringBuffer();

content.append(strbufCopy(" ", 40));
content.append("Sehoney通讯录档设定\n");
content.append(strbufCopy("工号", 12));
content.append(strbufCopy("姓名", 12));
content.append(strbufCopy("英文名", 22));
content.append(strbufCopy("分机", 7));
content.append(strbufCopy("部门别", 22));
content.append(strbufCopy("职位", 42));
content.append(strbufCopy("手机号", 18));
content.append(strbufCopy("电话号码", 18));
content.append(strbufCopy("公司E-mail", 62));
content.append(strbufCopy("MSN号码", 62));
content.append("人生格言\n");

SopmcontactsVW vw = new SopmcontactsVW();
int[] selectedRow_i = queryPage.data_jCmpTable.table_jTbl
.getSelectedRows();

ArrayList result_list = (ArrayList) result_col;
// 数据不为空的时候导出数据
if (!"".equals(selectedRow_i) && selectedRow_i.length > 0) {
for (int i = 2; i < selectedRow_i.length + 2; i++) {
// 获得选中行
queryPage.data_jCmpTable.table_jTbl.setRowSelectionInterval(
selectedRow_i[i - 2], selectedRow_i[i - 2]);
SopTableHelper.selectedRow2VO(vw,
queryPage.data_jCmpTable.table_jTbl);
content.append(strbufCopy(vw.getJobno(), 12));
content.append(strbufCopy(vw.getName(), 12));
content.append(strbufCopy(vw.getEname(), 22));
content.append(strbufCopy(vw.getExt(), 7));
content.append(strbufCopy(vw.getBranchdesc(), 22));
content.append(strbufCopy(vw.getPost(), 42));
content.append(strbufCopy(vw.getPhone(), 18));
content.append(strbufCopy(vw.getTelno(), 18));
content.append(strbufCopy(vw.getEmail(), 62));
content.append(strbufCopy(vw.getMsn(), 62));
content.append(vw.getMotto()+ "\n");
}
MessageController.showManualMessage(MessageDisplayTypeEnum.BOTH,
MessageDialogTypeEnum.MESSAGE, "导出成功" + "\n" + "导出行数为:"
+ selectedRow_i.length + "行\n" + "文件路径为:'" + path
+ ".txt'");
} else if (!"".equals(result_list) && result_list != null) {
for (int i = 2; i < (result_col.size() + 2); i++) {
vw = (SopmcontactsVW) result_list.get(i - 2);
content.append(strbufCopy(vw.getJobno(), 12));
content.append(strbufCopy(vw.getName(), 12));
content.append(strbufCopy(vw.getEname(), 22));
content.append(strbufCopy(vw.getExt(), 7));
content.append(strbufCopy(vw.getBranchdesc(), 22));
content.append(strbufCopy(vw.getPost(), 42));
content.append(strbufCopy(vw.getPhone(), 18));
content.append(strbufCopy(vw.getTelno(), 18));
content.append(strbufCopy(vw.getEmail(), 62));
content.append(strbufCopy(vw.getMsn(), 62));
content.append(vw.getMotto()+ "\n");
}
MessageController.showManualMessage(MessageDisplayTypeEnum.BOTH,
MessageDialogTypeEnum.MESSAGE, "导出成功" + "\n" + "导出数据为全部\n"
+ "文件路径为:'" + path + ".txt'");
}

out.write(content.toString());
// 关闭流
out.close();

return null;
}

/**
*
* @param str
* @param strlength
* @return
*/
private String strbufCopy(String str, int strlength) {
StringBuffer strBuf_s = new StringBuffer();
strBuf_s.insert(0, str);
for (int i = 0; i < str.length(); i++) {
//判断为中文
if (str.substring(i, i + 1).matches("[\u4e00-\u9fa5]")) {
strlength = strlength - 1;
}
}
strBuf_s.replace(0, str.length(), str);
for (int j = 0; j < strlength; j++) {
strBuf_s.append(" ");
}
return strBuf_s.substring(0, strlength);
}
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 “STC单片机电压测量”是一个以STC系列单片机为基础的电压检测应用案例,它涵盖了硬件电路设计、软件编程以及数据处理等核心知识点。STC单片机凭借其低功耗、高性价比和丰富的I/O接口,在电子工程领域得到了广泛应用。 STC是Specialized Technology Corporation的缩写,该公司的单片机基于8051内核,具备内部振荡器、高速运算能力、ISP(在系统编程)和IAP(在应用编程)功能,非常适合用于各种嵌入式控制系统。 在源代码方面,“浅雪”风格的代码通常简洁易懂,非常适合初学者学习。其中,“main.c”文件是程序的入口,包含了电压测量的核心逻辑;“STARTUP.A51”是启动代码,负责初始化单片机的硬件环境;“电压测量_uvopt.bak”和“电压测量_uvproj.bak”可能是Keil编译器的配置文件备份,用于设置编译选项和项目配置。 对于3S锂电池电压测量,3S锂电池由三节锂离子电池串联而成,标称电压为11.1V。测量时需要考虑电池的串联特性,通过分压电路将高电压转换为单片机可接受的范围,并实时监控,防止过充或过放,以确保电池的安全和寿命。 在电压测量电路设计中,“电压测量.lnp”文件可能包含电路布局信息,而“.hex”文件是编译后的机器码,用于烧录到单片机中。电路中通常会使用ADC(模拟数字转换器)将模拟电压信号转换为数字信号供单片机处理。 在软件编程方面,“StringData.h”文件可能包含程序中使用的字符串常量和数据结构定义。处理电压数据时,可能涉及浮点数运算,需要了解STC单片机对浮点数的支持情况,以及如何高效地存储和显示电压值。 用户界面方面,“电压测量.uvgui.kidd”可能是用户界面的配置文件,用于显示测量结果。在嵌入式系统中,用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值