Атрибут таблицы не работает в моем проекте
<pre> private string ExcelHeader() { // Excel header System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.AppendFormat("<?xml version=\"1.0\"?>\n"); sb.Append("<?mso-application progid=\"Excel.Sheet\"?>\n"); sb.Append("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" "); sb.Append("xmlns:o=\"urn:schemas-microsoft-com:office:office\" "); sb.Append("xmlns:x=\"urn:schemas-microsoft-com:office:excel\" "); sb.Append("xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" "); sb.Append("xmlns:html=\"http://www.w3.org/TR/REC-html40\">\n"); sb.Append("<DocumentProperties xmlns=\"urn:schemas-microsoft-com:office:office\">"); sb.Append("</DocumentProperties>"); sb.Append("<ExcelWorkbook xmlns=\"urn:schemas-microsoft-com:office:excel\">\n"); sb.Append("<ProtectStructure>Ture</ProtectStructure>\n"); sb.Append("<ProtectWindows>False</ProtectWindows>\n"); sb.Append("</ExcelWorkbook>\n"); return sb.ToString(); } private void Form1_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection("Data Source=sanjay;Initial Catalog=Login;Integrated Security=True"); SqlCommand cmd = new SqlCommand("select * from login", con); System.Data.DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); StringBuilder strExcelXml = new StringBuilder(); if (dt.Rows.Count > 0) { //First Write the Excel Header strExcelXml.Append(ExcelHeader()); string sanjay = "sanjay"; // Create First Worksheet strExcelXml.Append("<Worksheet ss:Name=\"" + sanjay.ToString() + "\">"); strExcelXml.Append("<Table border=\"2\">"); strExcelXml.Append("<Tr>"); strExcelXml.Append("<Td>SANJAY</Td>"); strExcelXml.Append("</Tr>"); strExcelXml.Append("</Table>"); strExcelXml.Append("<WorksheetOptions> </WorksheetOptions>"); strExcelXml.Append("</Worksheet>"); // Then Table Tag for (int i = 1; i < dt.Rows.Count; i++) { // Create First Worksheet tag strExcelXml.Append("<Worksheet ss:Name=\"" + i.ToString() + "\">"); // Then Table Tag strExcelXml.Append("<Table>"); // Row Tag strExcelXml.Append("<Tr>"); for (int j = 0; j < dt.Rows.Count; j++) {// Cell Tags strExcelXml.Append("<Td>"); strExcelXml.Append("Sheet" + i.ToString() + "<Row>" + dt.Rows[i][0].ToString() + "<Col>" + dt.Rows[i][1].ToString()); strExcelXml.Append("</Col></Row>"); strExcelXml.Append("</Td>"); } strExcelXml.Append("</Tr>"); strExcelXml.Append("</Table>"); strExcelXml.Append("</Worksheet>"); } // Close the Workbook tag (in Excel header // you can see the Workbook tag) strExcelXml.Append("</Workbook>\n"); } using (System.IO.StreamWriter file = new System.IO.StreamWriter("D:\\DEPOSIT_ACC_Final .XLS")) { file.WriteLine(strExcelXml.ToString()); } System.Diagnostics.Process.Start("D:\\DEPOSIT_ACC_Final .XLS"); } }
Что я уже пробовал:
Я попробовал экспорт данных в файл "Excel" в "нескольких листах Excel", но "лист excel" создает успех, но данные не печатаются в табличном формате любое тело помогает мне
Maciej Los
То, что вы пытаетесь сделать, - это создать html-файл, а не файл Excel...
Member 14765915
Я попробовал строковый конструктор используя затем stream writer используя только один файл create в моем проекте
Richard MacCutchan
Ваш код не создает допустимый файл Excel. Где вы нашли детали для создания этого формата XML?