Yyy.. to że spieprzyłem to ja nie wątpię :P
u mnie również działa to co napisałeś, jednak kod który generuje ww kod już nie;|
A może ta biblioteka być trefna? XD
Jednak dobry pomysł i spróbuje zaraz przerobić dataTable na html i zapisać do pliku;) Napisze jak skończę;)
Edit:
Jak to dobrze trafić na mądrzejszego od siebie ;)
Pozwolę sobie wkleić dla potomnych:
Kopiuj
public static string ConvertDataTableToHtml(DataTable targetTable)
{
string htmlString = "";
if (targetTable == null)
{
throw new System.ArgumentNullException("targetTable");
}
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
htmlBuilder.Append("style='border: solid 1px Black; font-size: small;'>");
htmlBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn targetColumn in targetTable.Columns)
{
htmlBuilder.Append("<td align='left' valign='top'>");
htmlBuilder.Append(targetColumn.ColumnName);
htmlBuilder.Append("</td>");
}
htmlBuilder.Append("</tr>");
foreach (DataRow myRow in targetTable.Rows)
{
htmlBuilder.Append("<tr align='left' valign='top'>");
foreach (DataColumn targetColumn in targetTable.Columns)
{
htmlBuilder.Append("<td align='left' valign='top'>");
htmlBuilder.Append(myRow[targetColumn.ColumnName].ToString());
htmlBuilder.Append("</td>");
}
htmlBuilder.Append("</tr>");
}
htmlBuilder.Append("</table>");
htmlString = htmlBuilder.ToString();
return htmlString;
}
I oczywiście wywołanie:
Kopiuj
saveFileDialog2.Filter = "Skoroszyt programu Microsoft Office Excel |*.xls";
saveFileDialog2.Title = "Zapisz do Microsoft Office Excel - plik xls";
saveFileDialog2.FileName = nazwa + ".xls";
if (saveFileDialog2.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = saveFileDialog2.FileName;
StreamWriter sw = new StreamWriter(path, false, Encoding.UTF8);
sw.Write(ConvertDataTableToHtml(dt));
sw.Dispose();
A powiedzcie mi proszę czy ktoś z was kojarzy jak by to zrobić żeby w całym pliku były defoultowe ustawienia wyglądu, bo ustawiłem tymczasowe:
Kopiuj
htmlBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
htmlBuilder.Append("style='border: solid 1px Black; font-size: small;'>");
jednak wolał bym chyba mieć te ustawienia które excel daje podstawowe ;)