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:
public static string ConvertDataTableToHtml(DataTable targetTable)
{
string htmlString = "";
if (targetTable == null)
{
throw new System.ArgumentNullException("targetTable");
}
StringBuilder htmlBuilder = new StringBuilder();
//Create Top Portion of HTML Document
htmlBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
htmlBuilder.Append("style='border: solid 1px Black; font-size: small;'>");
//Create Header Row
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>");
//Create Data Rows
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>");
}
//Create Bottom Portion of HTML Document
htmlBuilder.Append("</table>");
//Create String to be Returned
htmlString = htmlBuilder.ToString();
return htmlString;
}
I oczywiście wywołanie:
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;
//Excel.Workbook book = new Excel.Workbook();
//Excel.Worksheet worksheet = new Excel.Worksheet();
//book.Worksheets.Add(worksheet);
//ExcelLibrary.DataSetHelper.CreateWorkbook(path, ds);
// double test = Convert.ToDouble(path.Length);
// label12.Text = test.ToString();
//saveFileDialog2.Dispose();
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:
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 ;)