ASP.NET generating Dynamic word Documents

Standar

Introduction

Coding ini akan membantu programmer untuk membuat documen yang dinamik menggunakan template di MS.word  tanpa merubah kata-kata di server  

 Langkah – langkah :  

1. Siapkan template di MS. word , misal di ms.word sudah tersedia template sebagai berikut :  

   Nama             :  

   Alamat            :  

  Tanggal Lahir :  

2. Rubah sedikit template menjadi  

    Nama                 : ##nama##  

   Alamat                : ##alamat##  

  Tanggal lahir       :##tgllhr##  

   kemudian save document tersebut menjadi .rtf misal fab.rtf  

3. Lalu akan kita buat coding dengan ASP.NET bahasa c#, tempatkan coding dibawah ini pada tempat yang membutuhkan. 

 SqlConnection conn = new SqlConnection(masukkan connection stringnya); try
 
 conn.Open(); 
 sr.BaseStream.Seek(0,SeekOrigin.Begin); 
swrtarget = sr.ReadToEnd() ; 
 string strDataFileLoc = Request.PhysicalApplicationPath + “App_Data/fab2.rtf”; 
 string Destination = Request.PhysicalApplicationPath + “App_Data/fab2a.rtf”; 
 File.Copy(strDataFileLoc, Destination, true); 
FileStream fs2 = new FileStream(Destination, FileMode.Open, FileAccess.Read); 
StreamReader sr = new StreamReader(fs2); 
string swrtarget; 
string SqlStr; 
string strvalue; 
string newfile;
 sr.BaseStream.Seek(0,SeekOrigin.Begin); 
 swrtarget = sr.ReadToEnd()
 sr.Close();
 fs2.Close();
  
 SqlStr =” select * …..”; (masukkan query yang dibutuhkan)
 SqlCommand cmd = new SqlCommand (SqlStr, conn);  
 FileStream fs1 = new FileStream(Destination, FileMode.Open, FileAccess.ReadWrite); 
 StreamWriter streamWriter = new StreamWriter(fs1); 
  
 while (rdr.Read())
 {
 strvalue = rdr[“nama”].ToString();
 swrtarget = swrtarget.Replace(“##nama##”, strvalue);
 strvalue = rdr[“tgllahir”].ToString();
 swrtarget = swrtarget.Replace(“##tgllahir##”, strvalue);
strvalue = rdr[“alamat”].ToString();
 swrtarget = swrtarget.Replace(“##alamat##”, strvalue);
 rdr.Close();
 cmd.Dispose();
 streamWriter.WriteLine(swrtarget);
 streamWriter.Flush();
streamWriter.Close();
fs1.Close();
Response.AddHeader(“Content-Disposition”, “attachment; filename=”+Label8.Text+“.rtf”);
 Response.ContentType =“Application/msword”;Response.WriteFile(Destination);
 Response.End();
 }
  
 catch (Exception ex){
 if (conn.State == ConnectionState.Open){
 Label1.Text = ex.Message;
 conn.Close();
 }
}  
  

  

 
 
 

  

  

 
 

 
 

  

  

  
 

 
 
 
  
 

 
 
 

  

  

  
 

 
 
 

  

  

  
 

 
 
 
  
 
 

 

 

 

 

 

 

3 responses »

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s