这段时间一直做项目,封闭开发比较忙。
有一次跟VB.NET版的 若尘 交流时他说把Excel打印功能放在打印核心中不太好,有依赖。
于是我前些日子抽了些空晚上把与Excel相关的功能重构了一下并增加了些WorkSheet的操作如增、删、改、插入、定位、重命名工作表等。MIS金质打印通以简单快捷、易用实用特点受到很多朋友的欢迎!
其中对Excel的操作更是简单容易,用Google搜到一篇文章中说到“...收集很多Excel组件...的功能比较强大,不过我觉得金质打印王的对Excel操作比它要方便,但是不支持WebForm”(原文:http://www.cnblogs.com/team/DotNetBI.html关于在ASP.NET中以DCOM方式操作Excel的几个问题)其实也支持WebForm,毕竟Excel文件直接在IE中链接打开,而且操作Excel比WebDataGrid直接导出用流打开Excel灵活得多。前期的关于Excel操作的源码公布在:
.^^.开源:C#.NET开发的MIS打印程序,各种网格如DataGrid打印、DataTable、HtmlTable等二维形式全搞定,源码免费下载
http://community.csdn.net/Expert/topic/3278/3278050.xml强贴中,ReadNum有1万多,回贴有近800。***GoldPrinter.ExcelExpert(MIS金质打印通之Excel专版)***特点:
简单快捷、易用实用功能:1、如何将各版本Excel(COM类型库) 转换生成.Net公共语言运行库程序集如Interop.Excel.dll
2、如何引用Excel库或已生成的程序集
3、创建Excel实例
4、打开Excel工作薄工作表和模板
5、增、删、改、插入、定位、重命名工作表
6、获取活动工作表指定范围单元格及带区
7、读、写单元格内容
8、向带区中写内容9、单元格合并
10、字体及颜色
11、边框及网格线
12、保存、另存
13、打印、预览
14、彻底关闭Excel进程
15、综合应用,通打天下报表
...特色功能(整理中,请网上查看下载):
1、海量数据的瞬间导入
直接由给定的SQL Select命令并指定每页(sheet)打印多少行数据即可瞬间完成。
2、树型结构数据的导入
碰到树型结构的数据如典型的部门表,分层次结构,如何导入呢,导入的数据能折叠吗?
答案是肯定的。
由于这两点需要数据连接,将随 MIS金质打印通(MISGoldPrinter)V2.5同步开放!期待中...需要的朋友:
Email:[email protected] QQ:150439795
更多源码:www.webmis.com.cn建议朋友们不要在此留Email,有防有心人收集,如果你收到了要表示一上直接Up。
有一次跟VB.NET版的 若尘 交流时他说把Excel打印功能放在打印核心中不太好,有依赖。
于是我前些日子抽了些空晚上把与Excel相关的功能重构了一下并增加了些WorkSheet的操作如增、删、改、插入、定位、重命名工作表等。MIS金质打印通以简单快捷、易用实用特点受到很多朋友的欢迎!
其中对Excel的操作更是简单容易,用Google搜到一篇文章中说到“...收集很多Excel组件...的功能比较强大,不过我觉得金质打印王的对Excel操作比它要方便,但是不支持WebForm”(原文:http://www.cnblogs.com/team/DotNetBI.html关于在ASP.NET中以DCOM方式操作Excel的几个问题)其实也支持WebForm,毕竟Excel文件直接在IE中链接打开,而且操作Excel比WebDataGrid直接导出用流打开Excel灵活得多。前期的关于Excel操作的源码公布在:
.^^.开源:C#.NET开发的MIS打印程序,各种网格如DataGrid打印、DataTable、HtmlTable等二维形式全搞定,源码免费下载
http://community.csdn.net/Expert/topic/3278/3278050.xml强贴中,ReadNum有1万多,回贴有近800。***GoldPrinter.ExcelExpert(MIS金质打印通之Excel专版)***特点:
简单快捷、易用实用功能:1、如何将各版本Excel(COM类型库) 转换生成.Net公共语言运行库程序集如Interop.Excel.dll
2、如何引用Excel库或已生成的程序集
3、创建Excel实例
4、打开Excel工作薄工作表和模板
5、增、删、改、插入、定位、重命名工作表
6、获取活动工作表指定范围单元格及带区
7、读、写单元格内容
8、向带区中写内容9、单元格合并
10、字体及颜色
11、边框及网格线
12、保存、另存
13、打印、预览
14、彻底关闭Excel进程
15、综合应用,通打天下报表
...特色功能(整理中,请网上查看下载):
1、海量数据的瞬间导入
直接由给定的SQL Select命令并指定每页(sheet)打印多少行数据即可瞬间完成。
2、树型结构数据的导入
碰到树型结构的数据如典型的部门表,分层次结构,如何导入呢,导入的数据能折叠吗?
答案是肯定的。
由于这两点需要数据连接,将随 MIS金质打印通(MISGoldPrinter)V2.5同步开放!期待中...需要的朋友:
Email:[email protected] QQ:150439795
更多源码:www.webmis.com.cn建议朋友们不要在此留Email,有防有心人收集,如果你收到了要表示一上直接Up。
{
string strSheetName = "出勤情况明细报表";
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(strSheetName,System.Text.Encoding.UTF8) + ".xls");
//Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
Response.Write("打印时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
//输出正文
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
长江:我下了你的2.2测试版,现在每次打印都要选择打印机,能不能把打印机选择去掉呢?打印的时候直接打印就好了
(2005-10-19 14:51:54) 长江支流
好的
(2005-10-19 16:26:56) 英雄
长江,现在能不能给我个直接打印的GoldPrinter.DLL啊,我正在用你的打印通做程序,真好用,就是每次打印都要选择打印机,希望能直接打印,谢谢
(2005-10-19 16:28:09) 长江支流
哈哈,我的思想就是简单快捷、容易实用
(2005-10-19 16:46:25) 英雄
我在你开源的MisGoldPrinter.cs里,把Print函数中 return printerPageSetting.ShowPrintSetupDialog();去掉了,这样虽然不出现选择打印机的对话框,但也不能打印了,你能给我个现成的DLL吗 (2005-10-19 16:48:46) 长江支流
/// <summary>
/// 打印或显示设置对话框确定后打印。
/// </summary>
public void Print()
{
//直接打印
this.mCurrentPageIndex = 1;
this.mCurrentRowIndex = 0; this.mPrintDocument.PrintPage+=new System.Drawing.Printing.PrintPageEventHandler(PrintPageEventHandler); try
{
this.mPrintDocument.Print();
}
catch(Exception ex)
{
//Console.WriteLine(ex.Message);
System.Windows.Forms.MessageBox.Show("打印机错误!\n","MIS金质打印通 www.webmis.com.cn");
}
}
(2005-10-19 16:49:34) 长江支流
你把MisGoldPrinter.cs中原来的那个Print改一个名如ShowPrintSetupDialog,再把刚才这段代码拷过去就可以直接打印了
(2005-10-19 16:49:53) /fw英雄
谢谢
(2005-10-19 16:50:13) 长江支流
你试试,试了告诉我 (2005-10-19 17:05:58) /fw英雄
真不错,这个很有商业价值啊
(2005-10-19 17:06:10) 长江支流
感觉怎么样?
(2005-10-19 17:06:16) /fw英雄
你是中国的NO1
(2005-10-19 17:06:27) /fw英雄
简单好用,效果好
(2005-10-19 17:06:29) 长江支流
哈哈,过奖
(2005-10-19 17:12:28) /fw英雄
你现在名气可真大啊,^_^
(2005-10-19 17:12:41) 长江支流
何以见得?
(2005-10-19 17:12:53) /fw英雄
只要做过打印的都知道你啊,都推荐的你组件啊
(2005-10-19 17:12:51) 长江支流
很多网友都这么说
(2005-10-19 17:13:06) 长江支流
都推荐的你组件啊 ?
(2005-10-19 17:13:24) /fw英雄
推荐金质打印通啊
(2005-10-19 17:13:44) 长江支流
在哪里有推荐?
(2005-10-19 17:14:37) /fw英雄
人与人之间的推荐啊,我们同事推荐我用你的组件
(2005-10-19 17:14:54) 长江支流
哈哈,谢谢了
(2005-10-19 17:16:11) /fw英雄
太好用了,真的太好用了,呵呵
(2005-10-19 17:16:13) 长江支流
我正在写MIS金质打印通的XML解析器,XML自定义打印、图形、Win、Web打印没问题还会有更多的实用源码,只要给我QQ了的或mail了的
(2005-10-19 17:16:31) 长江支流
我提倡的就是简单快捷、易用实用
(2005-10-19 17:16:50) /fw英雄
我塞,加XML解析器,爽
(2005-10-19 17:17:53) /fw英雄
为什么不收费呢?完全达到商业化要求了啊?这个问题别的程序员没问过吗?
(2005-10-19 17:18:10) 长江支流
我本着免费的思想
(2005-10-19 17:18:51) /fw英雄
收个300一个KEY也正常啊,一个ACTIVEX上传组件也300呢
(2005-10-19 17:19:14) /fw英雄
收费了提供技术支持,提供最新版啊
(2005-10-19 17:19:13) 长江支流
再给你个VB.net的,方便你用VB的同事
(2005-10-19 17:19:25) /fw英雄
谢谢
(2005-10-19 17:21:02) 长江支流
哈哈,如果让你公司付费,老板就可能不愿意了
(2005-10-19 17:21:45) /fw英雄
不会啊,我们都用的正版啊
(2005-10-19 17:21:59) 长江支流
我再搞个超强版的,但还要保证简单快捷、易用实用的特点
(2005-10-19 17:22:38) 长江支流
如果搞的复杂的就没戏,水晶报表就是搞的太复杂,所以只吸引了大客户
(2005-10-19 17:22:49) /fw英雄
应该收费,加强版的300-500,个人版的50,符合中国市场啊
(2005-10-19 17:23:08) 长江支流
谢谢你的支持
(2005-10-19 17:23:20) 长江支流
我只要求程序员一天或半天的工资就可以了
(2005-10-19 17:24:10) /fw英雄
呵呵,只要给我技术支持和1年免费更新,我愿意多给钱 传了一个XML解析后的界面和XML源文件...(2005-10-19 17:35:03) /fw英雄
用XML对程序员来说就太方便了
(2005-10-19 17:35:59) 长江支流
看到我刚发的XML解析的了吗?
(2005-10-19 17:36:27) /fw英雄
看了,XML结构定义灵活简单,真好用
源文件 MisGoldPrinter.cs/// <summary>
/// 打印或显示设置对话框确定后打印。
/// </summary>
public System.Drawing.Printing.PrinterSettings PrintSetup()
{
this.mCurrentPageIndex = 1;
this.mCurrentRowIndex = 0; PrinterPageSetting printerPageSetting;
printerPageSetting = new PrinterPageSetting(mPrintDocument);
printerPageSetting.PrintPage += new PrintPageDelegate(this.PrintPageEventHandler); return printerPageSetting.ShowPrintSetupDialog();
}/// <summary>
/// 打印或显示设置对话框确定后打印。
/// </summary>
public void Print()
{
//直接打印
this.mCurrentPageIndex = 1;
this.mCurrentRowIndex = 0; this.mPrintDocument.PrintPage+=new System.Drawing.Printing.PrintPageEventHandler(PrintPageEventHandler); try
{
this.mPrintDocument.Print();
}
catch(Exception ex)
{
//Console.WriteLine(ex.Message);
System.Windows.Forms.MessageBox.Show("打印机错误!\n","MIS金质打印通 www.webmis.com.cn");
}
}