`
Sehoney
  • 浏览: 40190 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

数据导入导出

阅读更多
导出Txt范例,其他格式(Word,Excel,Pdf)导出请看附件
	/**
	 * 导出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);
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics