怎么把界面上的数据写入EXCAL表!要考虑分页情况

tekhdy715 2009-04-02 11:17:45
如果我要把数据写到Excal里面,现在我设3个参数,DataTable,Nowpage(当前页码),Pagerow(每页行数).该怎么写方法根据知道的参数打出当前页的数据到EXCAL表呢?
...全文
102 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
outou 2009-04-02
  • 打赏
  • 举报
回复
C#的没有,有VB.NET自定义EXCEL类的代码http://bingning.net/VB/SOURCE/index.html#programing可以参考一下,可能会帮到你。
jcyluck 2009-04-02
  • 打赏
  • 举报
回复
Excal?=>EXCEL?

问题叙述得不清楚

大概的意思是DATATABLE输出到EXCEL的问题吧
换页是否是重新建立一个新SHEET的意思
网上很多搜一下会有答案
netstray 2009-04-02
  • 打赏
  • 举报
回复
一并学习下
netstray 2009-04-02
  • 打赏
  • 举报
回复
一并学习下
wuyq11 2009-04-02
  • 打赏
  • 举报
回复
通过分页存储过程返回数据,再打开excel模板赋值给单元格,
也可用SqlDataAdapter Fill方法的重载public int Fill (
DataSet dataSet,
int startRecord,
int maxRecords,
string srcTable
)
实现分页
http://www.cnblogs.com/ayuan/archive/2006/07/26/459967.aspx
fengxingko 2009-04-02
  • 打赏
  • 举报
回复
DD
zzxap 2009-04-02
  • 打赏
  • 举报
回复
[CODE=C#]
把你当前页和行数当作参数传递进来
string sql = "select uid as 用户编号,username as 用户名 from dnt_users WHERE ID BETWEEN "

sql += " (CAST( '"+Nowpage+"' AS INT)-1 )* cast( '"+Pagerow+"' as int) and cast('"+Nowpage+"' as int)*cast( '"+Pagerow+"' as int) ";

ds = SqlHelp.ExecuteDataSet(SqlHelp.sqlCon, CommandType.Text, sql, null);
ExportToExcel(ds, Server.MapPath("excel/"+DateTime.Now.ToString("yyyyMMddhhssm")));
[/CODE]
zzxap 2009-04-02
  • 打赏
  • 举报
回复
[CODE=C#]
把你当前页和行数当作参数传递进来
string sql = "select uid as 用户编号,username as 用户名 from dnt_users WHERE ID BETWEEN '"+Nowpage+"'* '"+Pagerow+"' AND CAST( '"+Nowpage+"' AS INT)-1* Pagerow ";
ds = SqlHelp.ExecuteDataSet(SqlHelp.sqlCon, CommandType.Text, sql, null);
ExportToExcel(ds, Server.MapPath("excel/"+DateTime.Now.ToString("yyyyMMddhhssm")));
[/CODE]
zzxap 2009-04-02
  • 打赏
  • 举报
回复
1.webconfig文件
<authentication mode="Windows"/>
<identity impersonate="true"></identity>
</authentication>

2.引用用命名空间:using using Microsoft.Office;

在此之前需要添加引用,右击项目,添加引用,浏览C:\Program Files\Microsoft Office\OFFICE11找到excel.exe 确定

3.调用方法

string sql = "select uid as 用户编号,username as 用户名 from dnt_users";
ds = SqlHelp.ExecuteDataSet(SqlHelp.sqlCon, CommandType.Text, sql, null);
ExportToExcel(ds, Server.MapPath("excel/"+DateTime.Now.ToString("yyyyMMddhhssm")));
zzxap 2009-04-02
  • 打赏
  • 举报
回复
1.webconfig文件
<authentication mode="Windows"/>
<identity impersonate="true"></identity>
</authentication>

2.引用用命名空间:using using Microsoft.Office;

在此之前需要添加引用,右击项目,添加引用,浏览C:\Program Files\Microsoft Office\OFFICE11找到excel.exe 确定

3.调用方法

string sql = "select top 20 uid as 用户编号,username as 用户名 from dnt_users";
ds = SqlHelp.ExecuteDataSet(SqlHelp.sqlCon, CommandType.Text, sql, null);
ExportToExcel(ds, Server.MapPath("excel/"+DateTime.Now.ToString("yyyyMMddhhssm")));
zzxap 2009-04-02
  • 打赏
  • 举报
回复
[code=C#]
///导出指定的Excel文件
public void ExportToExcel(DataSet ds, string strExcelFileName)
{
if (ds.Tables.Count == 0 || strExcelFileName == "") return;
doExport(ds, strExcelFileName);
}
///执行导出
private void doExport(DataSet ds, string strExcelFileName)
{
Excel.Application excel1 = new Excel.Application();
int rowIndex = 1;
int colIndex = 0;
excel1.Application.Workbooks.Add(true);
System.Data.DataTable table = ds.Tables[0];
foreach (DataColumn col in table.Columns)
{
colIndex++;
excel1.Cells[1, colIndex] = col.ColumnName;
}

foreach (DataRow row in table.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in table.Columns)
{
colIndex++;
excel1.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}
excel1.Visible = false;
excel1.ActiveWorkbook.SaveAs(strExcelFileName + ".XLS", Excel.XlFileFormat.xlExcel9795, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
excel1.Quit();
excel1 = null;
GC.Collect();//垃圾回收
}
[/CODE]
zzxap 2009-04-02
  • 打赏
  • 举报
回复
把所有数据读取到dataset ,然后把dataset的数据导出到excel
fiveandfive 2009-04-02
  • 打赏
  • 举报
回复
execl吧.

111,126

社区成员

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

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

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