It is relatively simple to import the data information into wrod document scheme of C for word

  • 2020-05-07 19:31:22
  • OfStack

 
/// <summary> 
///  Set up the Word The template, word The table style is set here  
/// </summary> 
/// <param name="dsTr"></param> 
/// <returns></returns> 
protected string SetWordTemplate(string dsTr) 
{ 
StringBuilder html = new StringBuilder(); 
html.Append("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>"); 
html.Append("<html xmlns='http://www.w3.org/1999/xhtml'>"); 
html.Append("<html><head><title> test word</title></head>"); 
html.Append("<body>"); 
//html.Append("<table cellpadding='0' cellspacing='0' border='1'>"); 
html.Append(dsTr); 
//html.Append("</table>"); 
html.Append("</body>"); 
html.Append("</html>"); 
return html.ToString(); 
} 
/// <summary> 
///  save Word 
/// </summary> 
/// <param name="savePath"></param> 
/// <param name="data"></param> 
/// <returns></returns> 
protected bool SaveWord(string savePath,string data) 
{ 
try 
{ 
using (StreamWriter sw = new StreamWriter(savePath,true, Encoding.Default)) 
{ 
sw.WriteLine(data); 
sw.Close(); 
sw.Dispose(); 
} 
return true; 
} 
catch 
{ 
return false; 
} 
return false; 
} 
/// <summary> 
///  The import  
/// </summary> 
/// <param name="sender"></param> 
/// <param name="e"></param> 
private void button1_Click(object sender, EventArgs e) 
{ 
// Save the path  
string path = string.Format("{0}{1}", Application.StartupPath, " Save physical path "); 
// More than one table   Here, dataset You need to replace it with a query from the database dataset 
foreach(DataTable dt in new DataSet().Tables) 
{ 
StringBuilder _tables = new StringBuilder(); 
for (int i = 0; i < dt.Rows.Count; i++ ) 
{ 
if (i == 0) 
{ 
_tables.Append("<table cellpadding='0' cellspacing='0' border='1'>"); 
_tables.Append("<tr><td> The table name </td></tr>"); 
} 
_tables.Append("<tr><td>" + i + "</td><td>" + i + "</td><td>" + i + "</td></tr>"); 
if (i == (dt.Rows.Count - 1)) 
_tables.Append("</table>"); 
} 
SaveWord(path, this.SetWordTemplate(_tables.ToString())); 
} 
MessageBox.Show(" Generate success !"); 
} 

Hey hey! We're done! This method is fast, but you can't set word's other paging features, etc., but it should be more than enough to import all the tables from the database into wrod! ~
I am a small little bird, such as which big big big bird has a better plan good Code, please give me more advice! ~ Thanks

Related articles: