/ / Export System.Web.Ui.WebControls.Table in Excel - c #, asp.net, vb.net, excel-2007, Export-to-excel

Export System.Web.Ui.WebControls.Table in Excel - c #, asp.net, vb.net, excel-2007, Export-to-excel

जब हम एक्सेल में अग्रणी शून्य प्रदर्शित करते हैंEXCEL में HTML टेबल सेल लॉजिक का उपयोग करके एक्सपोर्ट टेबल? यदि संख्या प्रारूप "00001" है तो एक्सेल में स्वचालित रूप से इसे "1" में बदल देता है। लेकिन मैं इसे "00001" नहीं 1 के रूप में चाहता हूं।

उत्तर:

जवाब के लिए 0 № 1

स्ट्रिंग इसे उद्धृत करता है ताकि एक्सेल इसे संख्या के बजाय स्ट्रिंग के रूप में मानता है


जवाब के लिए 0 № 2

00001 एक संख्या नहीं है, 1 है ... क्योंकि कोई भी संख्या 0 से शुरू नहीं हो सकती है जब तक कि मूल्य स्वयं 0 नहीं है।
यदि आप चाहते हैं कि यह 00001 प्रदर्शन qoutes "" का उपयोग करे। तो यह "00001" बन जाता है।
जब आप कॉलम या सेल को जनरल टेक्स्ट में बदलते हैं तो यह भी एक्सेल करता है।

मुझे लगता है कि इसे करने का कोई और तरीका नहीं है।

आप हमेशा अपनी शिकायत के साथ microsoft को ईमेल भेज सकते हैं और इसे ठीक करने के लिए अपडेट मांग सकते हैं :)।


जवाब के लिए 0 № 3

समान परिणाम प्राप्त करने का एक बेहतर तरीका है, बस एक पंक्ति जोड़ें और यह काम करेगा स्टाइल शीट बनाने के बजाय (.text) और लूप का उपयोग करके सभी टैग के लिए विशेषताओं को जोड़ना, सभी पर सीधे शैली लागू करें TD टैग।

बदलने के

string style = @"<style> .text { mso-number-format:@; } </style> ";

साथ में

string style = @"<style> TD { mso-number-format:@; } </style> ";

और लूप को हटा दें


जवाब के लिए 0 № 4

बस अपनी तालिका में शैली का उपयोग करें

protected void Btn_ExportClick(object sender, EventArgs e)
{

string style = @"<style> .text { mso-number-format:@; } </style> ";
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gvUsers.RenderControl(htw);

// Style is added dynamically
Response.Write(style);
Response.Write(sw.ToString());
Response.End();
}

protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Cells[1].Attributes.Add("class", "text");
}
}