01.
private
void
RefreshData()
02.
{
03.
Cursor = Cursors.WaitCursor;
04.
List<
string
> _file =
new
List<
string
>();
05.
_file = TORServices.clsFile_Path.GetFilesRecursive(@
"E:\REPORT"
,
"*.Report"
);
///@"H:\REPORT"
06.
if
(_file.Count <= 0) { Cursor = Cursors.Default;
return
; }
07.
if
(dt !=
null
) { dt =
null
; }
08.
dt =
new
DataTable();
09.
dt.Columns.Add(
new
DataColumn(
"SampleID"
,
typeof
(
string
)));
10.
dt.Columns.Add(
new
DataColumn(
"Parameter"
,
typeof
(
string
)));
11.
dt.Columns.Add(
new
DataColumn(
"Value"
,
typeof
(
string
)));
12.
dt.Columns.Add(
new
DataColumn(
"Date"
,
typeof
(
string
)));
13.
dt.Columns.Add(
new
DataColumn(
"ผู้วิเคราะห์"
,
typeof
(
string
)));
14.
dt.Columns.Add(
new
DataColumn(
"Seleced"
,
typeof
(Boolean)));
15.
string
FileExcel;
16.
foreach
(
string
_f
in
_file)
17.
{
18.
19.
if
(!(TORServices.clsFile_Path.IsFileExcelOpen(_f)))
20.
{
21.
FileExcel = System.IO.Path.GetTempPath() + String.Format(
"{0:ddMMyyyy HHmmss}"
, DateTime.Now) +
".Report"
;
22.
System.IO.File.Copy(_f, FileExcel);
23.
}
24.
else
25.
{
26.
FileExcel = _f;
27.
}
28.
29.
dgvmgKg.DataSource = GetTable(
"SELECT * FROM `mg_Kg$Print_Area`"
, FileExcel).DefaultView;
30.
dgvmgL.DataSource = GetTable(
"SELECT * FROM `mg_L$Print_Area`"
, FileExcel).DefaultView;
31.
for
(
int
i = 0; i <
this
.dgvmgL.RowCount - 1; i++)
32.
{
33.
if
(
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
34.
{
35.
DataRow dr = dt.NewRow();
36.
dr[
"SampleID"
] =
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 6, i].Value.ToString().Trim();
37.
dr[
"Parameter"
] =
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 5, i].Value.ToString().Trim();
38.
dr[
"Value"
] =
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 4, i].Value.ToString().Trim();
39.
dr[
"Date"
] =
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 3, i].Value.ToString().Trim();
40.
dr[
"ผู้วิเคราะห์"
] =
this
.dgvmgL[
this
.dgvmgL.ColumnCount - 2, i].Value.ToString().Trim();
41.
dr[
"Seleced"
] =
false
;
42.
dt.Rows.Add(dr);
43.
}
44.
}
45.
46.
for
(
int
i = 0; i <
this
.dgvmgKg.RowCount - 1; i++)
47.
{
48.
if
(
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
49.
{
50.
DataRow dr = dt.NewRow();
51.
dr[
"SampleID"
] =
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 6, i].Value.ToString().Trim();
52.
dr[
"Parameter"
] =
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 5, i].Value.ToString().Trim();
53.
dr[
"Value"
] =
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 4, i].Value.ToString().Trim();
54.
dr[
"Date"
] =
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 3, i].Value.ToString().Trim();
55.
dr[
"ผู้วิเคราะห์"
] =
this
.dgvmgKg[
this
.dgvmgKg.ColumnCount - 2, i].Value.ToString().Trim();
56.
dr[
"Seleced"
] =
false
;
57.
dt.Rows.Add(dr);
58.
}
59.
}
60.
}
61.
dataGridView1.DataSource =dt ;
62.
dataGridView1.Columns[3].Width = 120;
63.
dataGridView1.Columns[4].Width = 150;
64.
dataGridView1.Columns[5].Width = 60;
65.
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);
66.
Cursor = Cursors.Default;
67.
}
68.
private
System.Data.DataTable GetTable(
string
_SQL,
string
FileExcel)
69.
{
70.
71.
string
_ConnectionString = @
"Data Source="
+ FileExcel +
"; Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;"
;
72.
73.
System.Data.OleDb.OleDbConnection conn =
new
System.Data.OleDb.OleDbConnection(_ConnectionString);
74.
conn.Open();
75.
string
strQuery = _SQL;
76.
System.Data.OleDb.OleDbDataAdapter adapter =
new
System.Data.OleDb.OleDbDataAdapter(strQuery, conn);
77.
System.Data.DataSet ds =
new
System.Data.DataSet();
78.
adapter.Fill(ds);
79.
return
ds.Tables[0];
80.
81.
}
82.
public
static
bool
IsFileExcelOpen(
string
FileName)
83.
{
84.
try
85.
{
86.
Stream s = File.Open(FileName, FileMode.Open, FileAccess.Read, FileShare.None);
87.
88.
s.Close();
89.
90.
return
true
;
91.
}
92.
catch
(Exception)
93.
{
94.
return
false
;
95.
}
96.
}