从aspx页面在导入到excel中。

kkilll159 2011-02-18 09:48:01
一个c#.net 的aspx页面,其中有一个表格控件,动态加载内容,表格控件有隐藏的列,执行代码导出后隐藏列也会导出到EXCEL上而且表格的样式也会丢失,有什么好办法可以解决导出到EXCEL的这些问题呢?
...全文
242 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkilll159 2011-02-23
  • 打赏
  • 举报
回复
没有人知道了么
kkilll159 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wuyq11 的回复:]

隐藏第一列,再导出,导出后设置隐藏列可见
或打开模板,遍历数据集,赋值给单元格
e.Row.Cells[0].Visible = false;

this.GridView1.Columns[0].Visible = false;

http://topic.csdn.net/u/20110117/16/30b7c131-1755-4497-8a0f-21e58c……
[/Quote]谢谢你的提意,我用的是一个第三方的控件表格,没有那个属性。
kkilll159 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 return_false 的回复:]

public string ExportToExcel(string path, DataTable table)
{
if (table != null &&table.Rows.Count != 0)
{

//生成.xls文件完整路径名
……
[/Quote] 这个方法不太适用于我
wuyq11 2011-02-18
  • 打赏
  • 举报
回复
隐藏第一列,再导出,导出后设置隐藏列可见
或打开模板,遍历数据集,赋值给单元格
e.Row.Cells[0].Visible = false;

this.GridView1.Columns[0].Visible = false;

http://topic.csdn.net/u/20110117/16/30b7c131-1755-4497-8a0f-21e58cba8c96.html
lizf123 2011-02-18
  • 打赏
  • 举报
回复
不是有类是连接数据库的方式的吗,?
  • 打赏
  • 举报
回复
public string ExportToExcel(string path, DataTable table)
{
if (table != null &&table.Rows.Count != 0)
{

//生成.xls文件完整路径名
object filename = path;
object Nothing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
myExcel.Application.Workbooks.Add(Nothing);
try
{
//把table中的数据插入excel文件中
int totalCount = 0;

int row = table.Rows.Count;
int column = table.Columns.Count;

for (int i = 0; i < column; i++)
{
myExcel.Cells[totalCount + 1, 1 + i] = table.Columns[i].ColumnName;
}

for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
myExcel.Cells[totalCount + 2 + i, 1 + j] = table.Rows[i].ItemArray[j].ToString(); ;
}
}
totalCount = totalCount + row + 4;

try
{
myExcel.ActiveWorkbook._SaveAs(filename, Nothing, Nothing, Nothing, Nothing, Nothing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Nothing, Nothing, Nothing, Nothing);
}
catch (Exception ex)
{
//return "Error_Save:Excel文件保存失败!";
return ex.ToString();
}
}
catch (Exception e)
{
return "Error_Insert:数据导入Excel失败!";
}
foreach (Microsoft.Office.Interop.Excel.WorkbookClass w in myExcel.Workbooks)
{
w.Close(false, Nothing, Nothing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(w);
}
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myExcel = null;
System.GC.Collect();
return "Sucess";
}
else
{
return "Warning:没有可供导入到Excel的数据!";

}
}
裸奔在上海 2011-02-18
  • 打赏
  • 举报
回复
程序是你写的吧,需要导出哪些内容,导出内容的格式是什么样子,你完全可以自己控制的,用代码都可以实现的,现在导出为Excel有两种方法(仅仅是我看到的),一种导出的其实不是真正的Excel文件,其实还是一个表格,这个简单,可以理解为一个表格,保存为Excel文件后用Excel打开,还有一种就是调用Office库,导出为真正的Excel文件,这样导出的文件才是真正的Excel文件在任何环境下使用都不会有问题,但是编码比较复杂。你自己斟酌考虑如何导出
zj882250 2011-02-18
  • 打赏
  • 举报
回复
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "Employee information.xls");
}
/// <summary>
/// 定义导出Excel的函数
/// </summary>
/// <param name="FileType"></param>
/// <param name="FileName"></param>
private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
打酱油的 2011-02-18
  • 打赏
  • 举报
回复
只做过Excel导入数据库.没做过导出Eexcel的.

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧