я имею в моей странице контента 4 вещи:экспорт GridView, чтобы преуспеть с таможенной стоимостью форматирования
- один GridView
- кнопки запроса, которые выполняют представления базы данных и отображать результаты запросов внутри вида в GridView
- экспорт кнопку, которая экспортирует GridView в Excel
- отправить письмо с Excel Excel выше в качестве вложения
они работают нормально, однако я заметил странную проблему с форматированием некоторых ячеек внутри столбца, столбец имеет 2 формата, применяемых к значениям, «число» и «общий», будучи «числом» неправильным.
вот некоторые фотографии первых нескольких результатов, чтобы проиллюстрировать то, что я хочу сказать:
в SQL сервере
на странице содержимого
в excel
обратите внимание, что в SQL-сервере и на странице, клетки отображаются с правильным форматированием, который XXXXX.etc (общего форматирования), но клетка с большим количеством цифр получить в формате «номер»
я выложу код ниже:
GridView
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true"></asp:GridView>
экспорта на кнопку
первенствоватьprotected void Buttonexcel_Click(object sender, EventArgs e)
{
try
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.Charset = "";
Response.AddHeader("content-disposition", "attachment;filename=dados.xls");
StringWriter sWriter = new StringWriter();
HtmlTextWriter hWriter = new HtmlTextWriter(sWriter);
GridView1.RenderControl(hWriter);
Response.Output.Write(sWriter.ToString());
Response.Flush();
Response.End();
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
}
есть способ, которым я могу заставить только «общее» форматирование для всего xls?
Вы можете попробовать добавить стиль, используя Response.Write для преобразования чисел в строки. Посмотрите на эту ссылку: http://aspsnippets.com/Articles/Export-GridView-to-Excel-in-ASPNet-with-Formatting-using-C-and-VBNet.aspx – Poornima