首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么将数据从dataset导出到excel的模板中

2012-01-05 
如何将数据从dataset导出到excel的模板中模板已经有现成的了怎么通过代码将数据导入呢?谢谢[解决办法]if (

如何将数据从dataset导出到excel的模板中
模板已经有现成的了   怎么通过代码将数据导入呢?   谢谢

[解决办法]
if (saveFileDialogExl.ShowDialog().ToString() == "OK ")
{
SpreadsheetClass workmdbClass = new SpreadsheetClass();
SpreadsheetClass workmcdClass = new SpreadsheetClass();
Worksheet workmdbsheet = workmdbClass.ActiveSheet;
Worksheet workmcdsheet = workmcdClass.ActiveSheet;
createXlsformat(workmcdsheet);
int k = 2;
foreach (DataRow row in DebitNodeDataSet.Tables[0].Rows)
{
if (row[0].ToString() != " " && row[0].ToString() == "0 ")
{
writeXlsdata(row, workmcdsheet, k);
}
k = k + 1;
}
try
{
string filename;

if (DebitNodeDataSet.Tables[0].Rows.Count > 0)
{
filename = saveFileDialogExl.FileName;
filename = filename.Substring(0, filename.LastIndexOf( ".xls "));
filename = filename + "_DN.xls ";
workmcdClass.Export(filename, SheetExportActionEnum.ssExportActionNone, SheetExportFormat.ssExportXMLSpreadsheet);
}
}
catch (Exception es)
{
MessageBoxHelper.ShowErrorMsg(es.Message, "Error ");
}
MessageBoxHelper.ShowInfoMsg( "Export Path: " + saveFileDialogExl.FileName, "Export successfully ");
}
}
}
[解决办法]
http://blog.csdn.net/chengking/archive/2005/11/29/539514.aspx

http://blog.csdn.net/ChengKing/category/292667.aspx
[解决办法]
根据模版的格式一步一步的往里面写就行了吧

还有就是替换,例如可以在在模版里面放一个#CustomerCd#,然后用DataSet中的CustomerCd去替换.
[解决办法]
TRAIN LI的代码速度太慢
可以试一下:SQL语句取数到EXCEL http://www.onlinedown.net/soft/44040.htm
[解决办法]
用我这个方法,只要把Dataset传进去,你就可以导出Excel了:

public void DBWriteToExcel(DataSet myds)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = Application.ExecutablePath;
saveFileDialog1.Filter = "Microsoft Office Excel 工作薄(*.xls)|*.xls ";
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.FileName = "客服日报查询结果 ";//dtpBegin.Text + "至 " + dtpEnd.Text + "客服日报查询结果 ";
if ((saveFileDialog1.ShowDialog()) == DialogResult.OK)
{
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create);
StreamWriter writer = new StreamWriter(fs, Encoding.Unicode);


try
{
//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
StringBuilder colHeaders = new StringBuilder();
for (int i = 0; i < myds.Tables[0].Columns.Count; i++)
{
colHeaders.Append(myds.Tables[0].Columns[i].Caption.ToString() + "\t ");
//colHeaders += myds.Tables[0].Columns[i].Caption.ToString() + "\t ";
}
colHeaders.Append( "\n ");
//输出流中写入取得的数据信息
writer.Write(colHeaders.ToString());
//逐行处理数据
StringBuilder ls_item = new StringBuilder();
for (int i = 0; i < myds.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < myds.Tables[0].Columns.Count; j++)
{
ls_item.Append(myds.Tables[0].Rows[i][j].ToString().Replace( "\n ", " ").Replace( "\t ", " ") + "\t "); ;
}
ls_item.Append( "\n ");
}
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
writer.Write(ls_item.ToString());
}
catch (Exception excep)
{
MessageBox.Show(excep.Message);
}
finally
{
writer.Flush();
writer.Close();
fs.Close();
}
}
}

热点排行