You are on page 1of 9

CƠ NHÂN TẠO

Bá o cá o tiến độ đồ á n

Đồ á n: [ Kinect ]
Ngà y bá o cá o: June 2, 2020
Họ tên sinh viên: Lê Vă n Kiên MSSV:20173995
Phạ m Trườ ng An MSSV:20173612

Tó m tắ t  Nghiên cứ u phầ n xoay trụ c , chuyển rờ i tọ a dộ Kinect trù ng vớ i tọ a độ củ a Robot , xá c


tình định vị trí 1 điểm trong khô ng gian từ thô ng tin độ sâ u và ả nh củ a Kinect .
hình  Nghiên cứ u code lậ p trình cho Kinect
chung  Tìm hiểu về lậ p trình trên Windows Form
củ a dự  Tìm hiểu giá Kinect v2 và Adapter
án  Cà i đặ t phầ n mềm , kết nố i Kinect vớ i PC , nhậ n dạ ng hình ả nh và đo gó c
 Xó a cá c page khô ng cầ n thiết
 Xâ y dự ng bà i toá n phụ xuấ t dữ liệu ra Excel

Cá c cô ng Giả bà i toá n phụ : Xuấ t dữ liệu ra Excel


việc Hướng làm : Xâ y dự ng cơ sở dữ liệu SQL sau đó kết nố i truyền dữ liệu sang dataGrid , từ
hoà n DataGrid xuấ t dữ liệu ra Excel .
thà nh - Kết nố i DESKTOP vớ i SQL server
trong - Tạ o New Databases -> kích và o CSDL đã tạ o ( name: Export ) -> chuộ t phả i Table
tuầ n (Từ chọ n New và điền tên cá c cộ t cầ n tạ o sau đó lưu ( VD : DATA)
ngà y - Kích chuộ t phả i và o bả ng DATA đã tạ o chọ n ‘’Edit Top 200 Rows ‘’ sau đó điền dữ liệu
5/27/2020 và o bả ng đã tạ o .
– -
6/2/2020
:

- Khở i độ ng Visual Studio -> Tạ o Project ( Windows Form )


- Thiết kế Form như sau : sử dụ ng 1 Button và 1 DataGrid
- Tạ o cá c đề mụ c trên DataGrid ( lưu ý tên lưu trù ng vớ i tên đã tạ o SQL )
- Code :
using System;
using System.Collections.Generic;

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using COMExcel = Microsoft.Office.Interop.Excel;
using app = Microsoft.Office.Interop.Excel.Application;
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;

namespace Export_to_Excel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-UFRQA46\


SQLEXPRESS;Initial Catalog=Export;Integrated Security=True");
private void ketnoicsdl()
{
con.Open();
string sql = "select * from DATA"; // lay het du lieu trong bang sinh vien
SqlCommand com = new SqlCommand(sql, con); //bat dau truy van
com.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(com); //chuyen du lieu ve
System.Data.DataTable dt = new System.Data.DataTable(); //tạo một kho ảo để
lưu trữ dữ liệu
da.Fill(dt); // đổ dữ liệu vào kho
con.Close(); // đóng kết nối
dataGridView1.DataSource = dt; //đổ dữ liệu vào datagridview
}

private void Form1_Load(object sender, EventArgs e)


{
ketnoicsdl();
}

private void dataGridView1_CellContentClick(object sender,


DataGridViewCellEventArgs e)

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

private void button1_Click_1(object sender, EventArgs e)


{
if (dataGridView1.Rows.Count > 0)
{

app obj = new app();


obj.Application.Workbooks.Add(Type.Missing);
obj.Columns.ColumnWidth = 25;

for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)


{
obj.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
}

for (int i = 0; i < dataGridView1.Rows.Count; i++)


{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
if (dataGridView1.Rows[1].Cells[j].Value != null)
{
obj.Cells[i + 2, j + 1] =
dataGridView1.Rows[i].Cells[j].Value;
}
}
}
obj.Columns.AutoFit();
obj.Visible = true;
}

app obj = new app();

if (obj == null)
{
MessageBox.Show("Lỗi không thể sử dụng được thư viện EXCEL");
return;
}
obj.Visible = false;

object misValue = System.Reflection.Missing.Value;

Workbook wb = xlApp.Workbooks.Add(misValue);
Worksheet ws = (Worksheet)wb.Worksheets[1];
if (ws == null)
{
MessageBox.Show("Không thể tạo được WorkSheet");
return;

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

}
int row = 1;
string fontName = "Times New Roman";
int fontSizeTieuDe = 18;
int fontSizeTenTruong = 14;
int fontSizeNoiDung = 12;
//Xuất dòng Tiêu đề của File báo cáo: Lưu ý
Range row1_TieuDe_ThongKeSanPham = ws.get_Range("A1", "E1");
row1_TieuDe_ThongKeSanPham.Merge();
row1_TieuDe_ThongKeSanPham.Font.Size = fontSizeTieuDe;
row1_TieuDe_ThongKeSanPham.Font.Name = fontName;
row1_TieuDe_ThongKeSanPham.Cells.HorizontalAlignment =
Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
row1_TieuDe_ThongKeSanPham.Value2 = "Thống kê sản phẩm";

//Tạo Ô Số Thứ Tự (STT)


Range row23_STT = ws.get_Range("A2", "A3");//Cột A dòng 2 và dòng 3
row23_STT.Merge();
row23_STT.Font.Size = fontSizeTenTruong;
row23_STT.Font.Name = fontName;
row23_STT.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;
row23_STT.Value2 = "STT";

//Tạo Ô Mã Sản phẩm :


Range row23_MaSP = ws.get_Range("B2", "B3");//Cột B dòng 2 và dòng 3
row23_MaSP.Merge();
row23_MaSP.Font.Size = fontSizeTenTruong;
row23_MaSP.Font.Name = fontName;
row23_MaSP.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;
row23_MaSP.Value2 = "Mã Sản Phẩm";
row23_MaSP.ColumnWidth = 20;

//Tạo Ô Tên Sản phẩm :


Range row23_TenSP = ws.get_Range("C2", "C3");//Cột C dòng 2 và dòng 3
row23_TenSP.Merge();
row23_TenSP.Font.Size = fontSizeTenTruong;
row23_TenSP.Font.Name = fontName;
row23_TenSP.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;
row23_TenSP.ColumnWidth = 20;
row23_TenSP.Value2 = "Tên Sản Phẩm";

//Tạo Ô Giá Sản phẩm :


Range row2_GiaSP = ws.get_Range("D2", "E2");//Cột D->E của dòng 2
row2_GiaSP.Merge();
row2_GiaSP.Font.Size = fontSizeTenTruong;
row2_GiaSP.Font.Name = fontName;
row2_GiaSP.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;
row2_GiaSP.Value2 = "Giá Sản Phẩm";

//Tạo Ô Giá Nhập:

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

Range row3_GiaNhap = ws.get_Range("D3", "D3");//Ô D3


row3_GiaNhap.Font.Size = fontSizeTenTruong;
row3_GiaNhap.Font.Name = fontName;
row3_GiaNhap.Cells.HorizontalAlignment =
Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
row3_GiaNhap.Value2 = "Giá Nhập";
row3_GiaNhap.ColumnWidth = 20;

//Tạo Ô Giá Xuất:


Range row3_GiaXuat = ws.get_Range("E3", "E3");//Ô E3
row3_GiaXuat.Font.Size = fontSizeTenTruong;
row3_GiaXuat.Font.Name = fontName;
row3_GiaXuat.Cells.HorizontalAlignment =
Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
row3_GiaXuat.Value2 = "Giá Xuất";
row3_GiaXuat.ColumnWidth = 20;
//Tô nền vàng các cột tiêu đề:
Range row23_CotTieuDe = ws.get_Range("A2", "E3");
//nền vàng
row23_CotTieuDe.Interior.Color =
ColorTranslator.ToOle(System.Drawing.Color.Yellow);
//in đậm
row23_CotTieuDe.Font.Bold = true;
//chữ đen
row23_CotTieuDe.Font.Color =
ColorTranslator.ToOle(System.Drawing.Color.Black);

}
}
-
- Và o Data Conections -> Add Connect -> Liên kết vớ i Database
-

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

Hình ả nh truyền dữ liệu từ SQL sau khi Debug

-Kích chuộ t và o Export -> dữ liệ đượ c xuấ t ra Excel

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

Cá c cô ng  Chưa xử lí đượ c số liệu Kinect sau khi xuấ t ra Excel


việc dự - File bọ n em xuấ t ra định dạ ng CSV có thể mở trên Excel . Số liệu nó xuấ t ra là tọ a độ
kiến điểm khi chiếu xuố ng cá c trụ c , bọ n em nghĩ đượ c hướ ng chuyển sang gó c nhưng
hoà n chưa sắ p xếp đượ c thờ i gian nên chiều mai bọ n em triển khai ạ .
thà nh
trong
tuầ n
nhưng
chưa
thự c
hiện
đượ c

Cá c cô ng
việc lên  Tiếp nhậ n cô ng việc buổ i meeting .
kế hoạ ch

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

cho tuầ n
tiếp theo

WELFARE AND SERVICE ROBOTIC LABORATORY


CƠ NHÂN TẠO

Thô ng tin liên hệ

Người gửi báo cáo Người nhận báo cáo

Office: [Office Phone] Office: [Office Phone]


Mobile: 0971052404 Mobile: [Cell Phone]
Email: kien.lv173995@sis.hust.edu.vn Email: thinh.daoquy@hust.edu.vn
Facebook: [Facebook address] Facebook: [Facebook address]

WELFARE AND SERVICE ROBOTIC LABORATORY

You might also like