Excel操作题

package newexam;

import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class AccessExcelFile {
	// 题库文件
	static String fileName = "d:/tiku/汇总.mdb";
	// 题库数量
	static int NUM = 1;
	// 指定输出目录,并在其下建立ExcelOperation子文件夹
	static File outDir = new File("d:/cf");
	static File absoluteDir = new File(outDir, "/ExcelOperation");
	static Connection con = null;

	// 类静态方法,完成对数据库连接等初始化工作
	static {
		if (!absoluteDir.exists()) {
			System.out.println("正在创建文件夹");
			absoluteDir.mkdirs();
		}
	}

	/**
	 * 从数据库中读取Excel文件(10个),放入指定的文件夹中,文件名在数据库中已经指定
	 */
	public static void getExcelFile() throws Exception {
		DAOAccess dao = new DAOAccess(fileName);
		con = dao.getConnection();
		Statement stat = con.createStatement();
		// 题库中有10套题
		for (int m = 1; m <= NUM; m++) {
			// 每套题中有一个ExcelFile表,里面有一个ExcelFile文件
			String sql = "select * from ExcelFile" + m;
			ResultSet res = stat.executeQuery(sql);
			while (res.next()) {
				BufferedOutputStream out = new BufferedOutputStream(
						new FileOutputStream(new File(absoluteDir,
								res.getString(2))));
				InputStream in = res.getBinaryStream(3);
				int ch;
				while ((ch = in.read()) != -1) {
					out.write(ch);
				}
				in.close();
				out.close();
			}
		}
		stat.close();
		dao.close();
		System.out.println("Excel操作文件创建成功,请检查文件正确性。");
	}

	/**
	 * 从指定的数据库读取Excel操作题干,共十套题,放入ExcelOperation.txt中
	 */
	public static void getExcelOperation() throws Exception {
		DAOAccess dao = new DAOAccess(fileName);
		con = dao.getConnection();
		Statement stat = con.createStatement();
		BufferedWriter out = new BufferedWriter(new FileWriter(new File(
				absoluteDir, "ExcelOperation.txt")));
		out.write("Excel操作");
		out.newLine();
		for (int m = 1; m <= NUM; m++) {
			String sql = "select * from ExcelOperation" + m;
			ResultSet res = stat.executeQuery(sql);
			int i = 1;
			while (res.next()) {
				// 在每套题前加上操作的源文件名
				if (i == 1) {
					out.write("***文件名:" + res.getString(3).substring(7) + "***");
					out.newLine();
				}
				out.write("" + i + "." + res.getString(2));
				out.newLine();
				i++;
			}
			out.newLine();
			out.newLine();
		}
		stat.close();
		out.close();
		dao.close();
		System.out.println("Excel题干文件创建成功,请检查文件正确性。");
	}

	public static void main(String[] args) throws Exception {
		getExcelFile();
		getExcelOperation();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.将工作表Sheet1复制到Sheet2,并将Sheet2更名为“职工工资表”; 2.在“职工工资表”中用公式求出每人的应发数和实发数(应发数=固定工资+浮动工资+各种津贴,实发数=应发数-扣除); 3.将“职工工资表”中各职工姓名“加粗,居中”,并以“实发数”降序排列表格内容; 4.根据“职工工资表”的“姓名”和“实发数”创建一“簇状柱形图”,显示在区域A13:H22,要求以“实发数示意图”为图表标。 帮助: 1.选择Sheet1中A1:G8间的全部内容,再单击“编辑”→“复制”,再将光标移到Sheet2的A1单元格,单击“编辑”→“粘贴”,再用鼠标双击工作表标签Sheet2,并在上面输入“职工工资表”,然后按回车键即可。 2.选择“职工工资表”中的E3单元格,并输入“=B3+C3+D3”并按回车键,再将光标移到E3单元格右下角的“句柄”,然后按住鼠标左键拖到E8,再在G3单元格中输入“=E3-F3”并按回车键,再将光标移到G3单元格右下角的“句柄”,然后按住鼠标左键拖到G8即可。 3.选择“职工工资表”中A3:A8单元格,单击“格式”→“单元格”,在“字体”选项卡的“字形”栏中选择“加粗”,在“对齐”选项卡的“水平对齐”栏中选择“居中”,再将光标移到其他数据区域内,单击“数据”→“排序”,在弹出窗口的“主要关键字”中选择“实发数”,并选择排列顺序为“递减”,单击“确定”。 4.在“职工工资表”中选择“姓名”和“实发数”数据,即A2:A8及G2:G8,单击“插入”→“图表”,在“图表类型”中选择“柱形图”,在“子图表类型”中选择“簇状柱形图”,单击“完成”,并在选中图表的情况下单击“图表”→“图表选项”,在“标”选项卡的“图表标”栏中输入“实发数示意图”,单击“确定”,再将图表通过拖动和缩放,显示在区域A13:H22。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值