Silverlight程序之:简单的Excel报表导出方法

Silverlight程序之:简单的Excel报表导出方法

概述

介绍一种简单的Excel报表导出方法。

页面效果

导出效果:

首先我们创建一个Excel表格,将我们的基本信息格式都设置好,如下图所示:

将创建好的Excel表格另存为网页。

打开VS将创建好的报表模版网页文件拖到Web项目新建的Report文件夹

修改其后缀名为aspx

打开文件

添加头部代码

<%@ Page Language="C#" ContentType="application/vnd.ms-excel" %>
<%@ Import Namespace="MMISUI.Dao.Report" %>
<%@ Import Namespace="MMISUI.Models.Report" %>

找到有汉字的表头<tr>

修改并添加代码

在里面可以获取数据集然后循环绑定到单元格中。形成一张表格。

<tr class=xl9719632 height=25 style=‘mso-height-source:userset;height:18.75pt‘>
<td height=25 class=xl8919632 style=‘height:18.75pt‘>物料编码</td>
<td class=xl8919632>物料名称</td>
<td class=xl8919632>规格型号</td>
<td class=xl8919632>计量单位</td>
<td class=xl8919632>物料类型</td>
<td class=xl8919632>年度</td>
<td class=xl8919632>时间</td>
<td class=xl9019632>数量</td>
<td class=xl9119632>金额</td>
<td class=xl9019632>数量</td>
<td class=xl9119632>金额</td>
<td class=xl9019632>数量</td>
<td class=xl9119632>金额</td>
</tr>
<%

string s = Request.QueryString["username"];
string s1 = Request.QueryString["email"];
decimal StockLedger_BAmount = 0,
StockLedger_BMoney = 0,
StockLedger_IAmount = 0,
StockLedger_IMoney = 0,
StockLedger_OAmount = 0,
StockLedger_OMoney = 0;
var dao = "SupplyDetailReportDao".Instance<ISupplyDetailReportDao>();
var list= dao.GetMaterialDispatchList();
for (int i = 0; i < list.Count; i++)
{
var mat = list[i] as MaterialDispatchReport;
if (mat==null)continue;
StockLedger_BAmount += mat.StockLedger_BAmount;
StockLedger_BMoney += mat.StockLedger_BMoney;
StockLedger_IAmount += mat.StockLedger_IAmount;
StockLedger_IMoney += mat.StockLedger_IMoney;
StockLedger_OAmount += mat.StockLedger_OAmount;
StockLedger_OMoney += mat.StockLedger_OMoney;
%>

<tr class=xl7019632 height=17 style=‘mso-height-source:userset;height:12.75pt‘>
<td height=17 class=xl7119632 style=‘height:12.75pt‘><%=i %></td>
<td class=xl7219632 width=129 style=‘width:97pt‘><%=mat.Mat_Code%></td>
<td class=xl7319632><%=mat.Mat_Name%></td>
<td class=xl7319632><%=mat.Mat_Model%></td>
<td class=xl7319632><%=mat.Units_Name%></td>
<td class=xl7319632><%=mat.MaterielCls_Name%></td>
<td class=xl7319632><%=mat.StockLedger_Year%></td>
<td class=xl7319632><%=mat.StockLedger_Period%></td>
<td class=xl7419632><%=mat.StockLedger_BAmount%></td>
<td class=xl7519632><%=mat.StockLedger_BMoney%></td>
<td class=xl7619632><%=mat.StockLedger_IAmount%></td>
<td class=xl7519632><%=mat.StockLedger_IMoney%></td>
<td class=xl7619632><%=mat.StockLedger_OAmount%></td>
<td class=xl7519632><%=mat.StockLedger_OMoney%></td>
</tr>

<%
}%>

<tr class=xl7719632 height=24 style=‘mso-height-source:userset;height:18.0pt‘>
<td height=24 class=xl7819632 style=‘height:18.0pt‘>合计:</td>
<td class=xl7919632 width=129 style=‘width:97pt‘> </td>
<td class=xl8019632> </td>
<td class=xl8019632> </td>
<td class=xl8019632> </td>
<td class=xl8019632> </td>
<td class=xl8019632> </td>
<td class=xl8019632> </td>
<td class=xl8119632><%=StockLedger_BAmount%></td>
<td class=xl8219632><%=StockLedger_BMoney%></td>
<td class=xl8319632><%=StockLedger_IAmount%></td>
<td class=xl8219632><%=StockLedger_IMoney%></td>
<td class=xl8319632><%=StockLedger_OAmount%></td>
<td class=xl8219632><%=StockLedger_OMoney%></td>
</tr>

删除多余的表格。。

在Silverlight程序里面调用

var uri = new Uri(App.Current.Host.Source, "../Report/物料收发存报表.aspx?username={0}&email={1}");
HtmlPage.PopupWindow(uri, "_blank", new HtmlPopupWindowOptions());

运行程序,点击导出按钮,提示你打开 保存 取消。

大功告成!!!

作者:记忆逝去的青春 
出处:http://www.cnblogs.com/lukun/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/  联系我,非常感谢。

时间: 2024-10-31 11:53:39

Silverlight程序之:简单的Excel报表导出方法的相关文章

Mego(04) - NET简单实现EXCEL导入导出

前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable来读取数据. Microsoft.Office.Interop.Excel用微软提供的组件操作WorkSheet对象. 使用一些第三方的库比如Fast Excel.ExcelDataReader等等. 今天要向大家介绍的更简单的方式来实现日常开发的各种EXCEL导入导出需求. 简单导入 我们还是使用

使用 shell / python 进行sql的excel报表导出

如果要求你进行一个表数据的导出,如果使用shell的话,很容易做到,即执行一下 select 语句就可以拿到返回结果了! 如下: /usr/bin/mysql -u"${username}" -p"${password}" --host=${host} -D"${database}" < ${sql_script_path} > ${export_data_full_path1}; 如上执行完成之后,数据就被导出到 export_da

Java 复杂excel报表导出

html2excel,是转换HTML表格为Excel的工具包,支持.xls..xlsx格式,支持对背景色.边框.字体等进行个性化设置. github:https://github.com/liaochong/html2excel maven引用: <dependency> <groupId>com.github.liaochong</groupId> <artifactId>html2excel</artifactId> <version&

Excel报表导出

entity: 自定义注解:红框 工具类:CreationExecl 1 . 2. 测试类:

PHPExcel导出方法封装

1.方法封装 <?php /** * @description excel数据导出方法封装 列数支持700+ * @param array $title 列标题.宽度和数据字段 二维数组 必须 array(array('title'='name','width'=>30,'field'=>'user_name'),array('title'='sex','width'=>10,'field'=>'sex')) * @param array $data 二维数组数据 必须 *

明宇报表导出excel文件大小

要实现将excel文件导出后再导入. 明宇报表,又成如意报表,能导出excel,可以导出后的文件很小,将它打开保存会变大,一般大2~3倍. 导出的是.xls文件,我用的是excel是2007版本. 报表的导出是用poi实现的,我用poi和jxl分别写程序导入都是同样问题,只有保存后的才能导入. 也设置utf8等主流编码去解析,还是不行. 所以确定不是程序问题,应该是报表的导出问题,推测可能是用比03版本更老的方法实现的.

JAVA将Excel中的报表导出为图片格式(三)换一种实现

上一篇介绍了使用Java的Robot机器人实现截图,然后将剪贴板上的数据流生成PNG图片 但是经过博主的不断测试,在完全依赖远程桌面的没有终端显示器的服务器上 使用截图方式是不可行的,因为一旦使用了远程桌面,再断开桌面,系统后台执行的截图程序会全部截到黑屏 所以博主不得已去用另一种通用方式生成PNG 这就是要使用Apache公司的POI工具,对整个excel进行解析 将excel的每一个单元格,数据,格式,边框全都读取出来 其中需要考虑到单元格的合并,行列的隐藏等等复杂的问题 最终使用JAVA

Java实现POI导出Excel报表功能

在公司的很多业务中需要做成报表的形式,在市场有很多开源的Java框架,例如POI.JXL等,下面我们结合SpringMVC框架,来实现报表导出功能 首先在项目的lib目录下面加入poi-3.7.jar 核心工具类: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputSt

Java使用POI实现数据导出excel报表

在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅仅简单的读取office中的数据.尤其是在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.而数据导出的格式一般是EXCEL或者PDF .所以今天我们来简单看一下利用Apache  POI实现数据库中数据导出excel报表.在java中有很多实现数据导出excel报表的第三方jar包.但在比较了一下感觉还是POI相对来