Report
HTML & Excel
Untuk membuat report menggunakan
format HTML/MHT dengan Microsoft Excel ikuti langkah-langkah di bawah ini :
1. Buka Microsoft Excel. Buat
dokumen dengan format seperti tampilan di bawah ini. Kemudian klik File-Save
dan simpan dengan nama template.xls.
2. Kemudian
klik File-Save As untuk menyimpan dokumen tersebut dalam format Single Web Page
(*mht) dengan nama template.mht.
3. Tutup Microsoft Excel. Kemudian
buka file template.mht dengan Notepad sehingga tampak isi file dengan format
HTML seperti di bawah ini :
4. Kemudian carilah bagian file
yang mempunyai tag <tr> dan mempunyai isi [name], [address], dan [phone]
sampai bagian akhir tag penutup </tr>
5. Cut bagian tersebut, kemudian
buka Notepad lagi, Paste bagian file tersebut pada Notepad yang baru sehingga
tampak seperti tampilan di bawah ini. Klik Save dan simpan dengan nama
templatecontent.mht. Tutup Notepad tersebut.
9. Pada Notepad yang berisi file
template.mht, di bagian yang sudah di Cut tuliskan [content]. Kemudian klik File-Save dan tutup
Notepad.
10. Buka Microsoft Visual Studio
2008, pilih File-New Project, pilih Project Types : Visual C# dan Templates :
Windows Application. Klik OK.
11. Pada Form1 dari Toolbox tambahkan
control DataGridView dan Button.
12. Tampilkan
kode program Form1.vb milik Form1. Pada bagian imports paling atas tambahkan
reference-reference yang akan dipakai, yaitu : System.Data.Odbc dan System.IO.
using
System.Data.Odbc;
using
System.IO;
using
System.Runtime.InteropServices;
13. Kemudian di bawahnya pada
deklarasi variabel dan objek global milik Class Form1 tambahkan kode program
berikut ini :
public
partial class Form1 : Form
{
[DllImport("shell32.dll")]
static extern IntPtr ShellExecute(
IntPtr hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
int ShowCommands);
public OdbcConnection cn;
public DataSet ds;
public DataTable tb;
14. Klik dua kali pada Form1
kemudian pada private void Form1_Load tambahkan kode program berikut :
private
void Form1_Load(object sender, EventArgs e)
{
cn = new
OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=" +
Path.GetDirectoryName(Application.ExecutablePath) + "\\data.mdb");
cn.Open();
OdbcCommand cm = new
OdbcCommand("SELECT name, address, phone FROM contacts", cn);
OdbcDataReader rd;
rd = cm.ExecuteReader();
ds = new DataSet();
tb = new DataTable();
tb.TableName = "contacts";
ds.Tables.Add(tb);
ds.Load(rd, LoadOption.Upsert, tb);
for (int i = 0; i < tb.Columns.Count;
i++)
{
if
(tb.Columns[i].DataType.ToString() == "System.String") {
tb.Columns[i].MaxLength = 255; }
}
rd.Close();
cn.Close();
bindingSource1.DataSource = ds;
bindingSource1.DataMember =
"contacts";
dataGridView1.DataSource =
bindingSource1;
}
15. Untuk
menjalankan program klik menu Debug-Start Debugging (F5). Program akan berjalan seperti
tampilan di bawah ini:
16. Hentikan Pogram. Kemudian klik
dua kali pada Button1 pada private void Button1_Click tambahkan kode program
berikut :
private
void Button1_Click(object
sender, EventArgs e)
{
String
rpt;
String
cPart, tContent;
rpt = File.ReadAllText(Path.GetDirectoryName(Application.ExecutablePath)
+ "\\template.mht");
tContent = "";
for
(int i = 0; i < bindingSource1.Count; i++)
{
cPart = File.ReadAllText(Path.GetDirectoryName(Application.ExecutablePath) + "\\templatecontent.mht");
cPart = cPart.Replace("[name]", ((DataRowView)bindingSource1[i])["name"].ToString());
cPart = cPart.Replace("[address]", ((DataRowView)bindingSource1[i])["address"].ToString());
cPart = cPart.Replace("[phone]", ((DataRowView)bindingSource1[i])["phone"].ToString());
tContent = tContent + (Char)13 + cPart;
}
rpt = rpt.Replace("[content]", tContent);
File.WriteAllText(Path.GetDirectoryName(Application.ExecutablePath)
+ "\\report.xls", rpt);
ShellExecute(this.Handle, "open",
Path.GetDirectoryName(Application.ExecutablePath)
+ "\\report.xls", "", "",
1);
}
17. Untuk
menjalankan program klik menu Debug-Start Debugging (F5). Kemudian coba klik
Button1, maka akan muncul tampilan report dalam Microsoft Excel.