Gợi ý code, giải thuật đọc, ghi file excel từ trang ĐKHP regis.agu.edu.vn (ĐH AN GIANG) hoặc những trang regis tương tự

1. Hướng dẫn đọc file excel regis.agu.edu.vn ==> import sqllite (Đăng kí học phần trực tuyến)

- Ý tưởng: đọc từng dòng, từng cột dựa vào thư viện poi3.jar

HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
HSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator rowIter = mySheet.rowIterator();
while (rowIter.hasNext()) {
 HSSFRow myRow = (HSSFRow) rowIter.next();
 if(myRow.getRowNum()>=13) {
 Iterator cellIter = myRow.cellIterator();
 while (cellIter.hasNext()) {
 HSSFCell myCell = (HSSFCell) cellIter.next();
 Log.d("NguyenNgocTan", "" + myCell.getStringCellValue().toString()+" socot:"+myCell.getColumnIndex());
 int SOCOT=myCell.getColumnIndex();
 if(SOCOT==1)
 MMH=myCell.getStringCellValue().toString();
 else if(SOCOT==6)
 TENMH=myCell.getStringCellValue();
 else if(SOCOT==34)
 PHONGHOC=myCell.getStringCellValue();
 else if(SOCOT==26)
 THU=myCell.getStringCellValue();
 else if(SOCOT==28)
 TIETBATDAU=myCell.getStringCellValue();
 else if(SOCOT==29)
 SOTIET=myCell.getStringCellValue();
 else if(SOCOT==36)
 TGHOC=myCell.getStringCellValue();
 }
}

- Giải thích:
+ myRow.getRowNum()>=13: Đọc dòng chứa nội dung mã môn học đầu tiên
+ SOCOT=GIÁ TRỊ: Do số cột trên file excel của regis quá nhiều. Có những cột null giá trị do trộn ô (merge cell). Để biết số cột và giá trị như thế nào. Chúng ta dựa vào dòng

Log.d("NguyenNgocTan", "" + myCell.getStringCellValue().toString()+" socot:"+myCell.getColumnIndex());

==> Ý nghĩa là để Log ra nội dung cột và thứ tự cột

2. Xem TKB theo tuần. 

- Hình ảnh Cột tuần trong TKB của regis.agu.edu.vn (ĐH AN GIANG)

- Ý tưởng:

B1: Đọc từng ký tự trong cột thời gian học

B2: Kiểm tra xem số tuần học

     + Nếu số tuần học >=10. Thì gán số tuần học =số tuần học % 10 (VD: 11%10=1 -> tuần thứ 11)

     + Nếu số tuần học <=10. Thì giữ nguyên số tuần được chọn.

- Code tham khảo: (Cột thời gian học) ThoiGianHoc.Substring((SoTuanHoc-1),SoTuanHoc).equals(SoTuanHoc)

3. Tính số tuần, thứ trong tuần tuần dựa vào thời gian bắt đầu nhập học và thời gian đang chọn

- Ý tưởng:

     + B1: Lấy thời gian đang chọn - thời gian bắt đầu =A thời gian

     + B2: Tính số tuần =(A thời gian / 1000*60*60*24)/7

     + B3: Tính thứ trong tuần (Lưu ý: Thứ =1 là chủ nhật):

Calendar c = Calendar.getInstance();
c.setTime(Common.Static_NGAY_THANG_NAM_SELECT);
int Thu_TrongTuan = c.get(Calendar.DAY_OF_WEEK);

 - Code tham khảo

Long TRU_THOIGIAN= (Common.Static_NGAY_THANG_NAM_SELECT.getTime()-Common.Static_NGAY_THANG_NAM_CSDL.getTime());
  int SoTuan=Integer.valueOf(String.valueOf((TRU_THOIGIAN/(1000*60*60*24))/7));
  Calendar c = Calendar.getInstance();
  c.setTime(Common.Static_NGAY_THANG_NAM_SELECT); // yourdate is a object of type Date
  int Thu_TrongTuan = c.get(Calendar.DAY_OF_WEEK);
  if(Thu_TrongTuan==1)
     txt_thu.setText("CHỦ NHẬT");
  else
     txt_thu.setText("THỨ "+(Thu_TrongTuan));

4. Tải Ứng Dụng Xem Thời Khóa Biểu ĐHAG (Regis.agu.edu.vn): Đang Cập Nhật Ứng Dụng Trong TG Sớm Nhất

Kiểm tra kết nối đến MSSQL SERVER không cần cài đặt bất cứ công cụ nào

- Vấn đề đặt ra: Như chúng ta đã biết để kiểm tra xem user, password có kết nối được đến với SQL SERVER không. Thì các bạn thường mở công cụ SQL để test hoặc viết chương trình C# để kết nối đến SQL (Giả sử máy chúng ta không còn đủ dung lượng bộ nhớ để cài sql thì sao)

- Hướng giải quyết: Tạo Universal Data Link files (*.UDL)

+ B1: Tạo file

+B2: Sau đó đổi tên file là: TestDatabase.udl

- Chọn Yes để chấp nhận thay đổi phần mở rộng. Chạy file vừa tạo. 

- bây giờ có thể kết nối đến bất kỳ CSDL trên host online hoặc local.