<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Kalman</title><subtitle type="text">http://shop.paipai.com/295617106http://shop33115400.taobao.com--&gt;</subtitle><id>http://feed.cnblogs.com/blog/u/11400/rss</id><updated>2011-10-14T12:16:13Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/11400/rss"/><entry><id>http://www.cnblogs.com/lingyun_k/archive/2011/06/23/2088541.html</id><title type="text">开发辅助工具Kalman Studio2.0发布，内置基于T4的代码生成器</title><summary type="text">最初开发该软件的目标是做成一个开发辅助工具来提高工作效率，代码生成器只是作为其中的一个功能，以前发布过该软件的一个粗糙的版本，bug有不少，现在系统的整理了一下，修改了不少bug，这次最大的改动就是将原来代码生成器通过SMO取SQL Server元数据信息改成了使用系统存储过程，重写了SqlServerSchemaProvider模块，并重构了批量代码生成界面本软件主要功能如下：1、基于T4的代码生成工具，根据数据库元数据信息生成代码，支持多数据库，支持批量代码生成2、支持根据PowerDesigner物理模型文件来生成代码，这也是该软件的最大亮点，为此专门花了一天时间写了个PDM文件解析模块</summary><published>2011-06-23T15:41:00Z</published><updated>2011-06-23T15:41:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2011/06/23/2088541.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2011/06/23/2088541.html"/><content type="html">&lt;p&gt;最初开发该软件的目标是做成一个开发辅助工具来提高工作效率，代码生成器只是作为其中的一个功能，以前发布过该软件的一个粗糙的版本，bug有不少，现在系统的整理了一下，修改了不少bug，这次最大的改动就是将原来代码生成器通过SMO取SQL Server元数据信息改成了使用系统存储过程，重写了SqlServerSchemaProvider模块，并重构了批量代码生成界面本软件主要功能如下：&lt;/p&gt;&lt;p&gt;1、基于T4的代码生成工具，根据数据库元数据信息生成代码，支持多数据库，支持批量代码生成&lt;/p&gt;&lt;p&gt;2、支持根据PowerDesigner物理模型文件来生成代码，这也是该软件的最大亮点，为此专门花了一天时间写了个PDM文件解析模块&lt;/p&gt;&lt;p&gt;3、内置了一个简单的文本编辑器，支持代码高亮显示&lt;/p&gt;&lt;p&gt;4、数据库元数据信息浏览工具&lt;/p&gt;&lt;p&gt;5、数据库文档生成工具，支持输出word及pdf文件格式&lt;/p&gt;&lt;p&gt;6、IIS日志解析器，小网站可以用用&lt;/p&gt;&lt;p&gt;7、其他工具，字符串相关操作等&lt;/p&gt;&lt;p&gt;下载地址：&lt;a href="http://files.cnblogs.com/lingyun_k/Kalman.Studio2.0.rar"&gt;http://files.cnblogs.com/lingyun_k/Kalman.Studio2.0.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;下面是软件主界面截图&lt;/p&gt;&lt;p&gt;&lt;img height="713" width="1198" src="http://images.cnblogs.com/cnblogs_com/lingyun_k/244874/o_ks1.png" alt="kalman studio2.0 ui" /&gt;&lt;/p&gt;&lt;p&gt;更多软件截图可以参考&lt;a href="http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html"&gt;http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;数据库链接字符串配置示例&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br/&gt;&amp;lt;configuration&amp;gt;&lt;br/&gt;&amp;lt;configSections&amp;gt;&lt;br/&gt;&amp;lt;/configSections&amp;gt;&lt;br/&gt;&amp;lt;connectionStrings&amp;gt;&lt;br/&gt;&amp;lt;clear/&amp;gt;&lt;br/&gt;&amp;lt;add name="Localhost" connectionString="Data Source=.;Integrated Security=SSPI;Persist Security Info=False;" /&amp;gt;&lt;br/&gt;&amp;lt;add name="MySql_Local" connectionString="Server=127.0.0.1;Database=test;Uid=root;Pwd=123456;" providerName="MySql.Data.MySqlClient"/&amp;gt;&lt;br/&gt;&amp;lt;add name="SQLite" connectionString="Data Source=F:\data\sqlite3\testdb.s3db;Version=3;" providerName="System.Data.SQLite"/&amp;gt;&lt;br/&gt;&amp;lt;/connectionStrings&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;system.data&amp;gt;&lt;br/&gt;&amp;lt;DbProviderFactories&amp;gt;&lt;br/&gt;&amp;lt;clear/&amp;gt;&lt;br/&gt;&amp;lt;add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /&amp;gt;&lt;br/&gt;&amp;lt;add name="MySqlClient Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySql" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /&amp;gt;&lt;br/&gt;&amp;lt;add name="DB2 Data Provider" invariant="IBM.Data.DB2" description=".Net Framework Data Provider for DB2" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2" /&amp;gt;&lt;br/&gt;&amp;lt;/DbProviderFactories&amp;gt;&lt;br/&gt;&amp;lt;/system.data&amp;gt;&lt;br/&gt;&amp;lt;/configuration&amp;gt;&lt;br/&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;/div&gt;&lt;p&gt;一个实体模板的编写示例&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&amp;lt;#@ template language="C#v3.5" hostSpecific="true" debug="true" #&amp;gt;&lt;br/&gt;&amp;lt;#@ output extension=".cs" #&amp;gt;&lt;br/&gt;&amp;lt;# &lt;br/&gt;TableHost host = (TableHost)(Host); &lt;br/&gt;SOTable table = host.Table;&lt;br/&gt;List&amp;lt;SOColumn&amp;gt; list = host.ColumnList;&lt;br/&gt;string nameSpace = host.GetString("NameSpace");&lt;br/&gt;string className = host.GetString("ClassName");&lt;br/&gt;if(string.IsNullOrEmpty(nameSpace))nameSpace = "Entity";&lt;br/&gt;if(string.IsNullOrEmpty(className))className = table.Name;&lt;br/&gt;#&amp;gt;&lt;br/&gt;using System;&lt;br/&gt;using System.Collections.Generic;&lt;br/&gt;using System.Text;&lt;br/&gt;using System.Data;&lt;br/&gt;&lt;br/&gt;namespace &amp;lt;#= nameSpace #&amp;gt;&lt;br/&gt;{&lt;br/&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &amp;lt;#= table.Comment == "" ? table.Name : table.Comment.Replace("\r\n"," ") #&amp;gt;&lt;br/&gt;    /// &amp;lt;/summary&amp;gt;&lt;br/&gt;[Serializable]&lt;br/&gt;public partial class &amp;lt;#= className #&amp;gt;&lt;br/&gt;{&lt;br/&gt;&amp;lt;# foreach (SOColumn c in list)&lt;br/&gt;{ &lt;br/&gt;string cname = c.Name;&lt;br/&gt;#&amp;gt;private &amp;lt;#= TypeUtil.DbType2TypeString(c.DataType) #&amp;gt; &amp;lt;#= "_"+cname #&amp;gt;;&lt;br/&gt;&lt;br/&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;        /// &amp;lt;#= c.Comment == "" ? c.Name : c.Comment.Replace("\r\n"," ") #&amp;gt;&lt;br/&gt;        /// &amp;lt;/summary&amp;gt;&lt;br/&gt;public &amp;lt;#= TypeUtil.DbType2TypeString(c.DataType) #&amp;gt; &amp;lt;#= cname #&amp;gt; &lt;br/&gt;{ &lt;br/&gt;get{ return &amp;lt;#= "_"+cname #&amp;gt;;}&lt;br/&gt;set{ &amp;lt;#= "_"+cname #&amp;gt; = value;} &lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;# } #&amp;gt;&lt;br/&gt;}&lt;br/&gt;}&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/lingyun_k/Kalman.Studio2.0.rar"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lingyun_k/aggbug/2088541.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lingyun_k/archive/2011/06/23/2088541.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2010/11/09/1872891.html</id><title type="text">如何在Yii Framework中使用PHPExcel组件【备忘】</title><summary type="text">PHPExcel下载地址http://www.yiiframework.com/extension/phpexcel将下载的PHPExcel压缩包解压到Yii Framework目录framework\vendors下代码如下[代码]</summary><published>2010-11-09T09:33:00Z</published><updated>2010-11-09T09:33:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2010/11/09/1872891.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2010/11/09/1872891.html"/><content type="html">&lt;p&gt;PHPExcel下载地址&lt;a href="http://www.yiiframework.com/extension/phpexcel"&gt;http://www.yiiframework.com/extension/phpexcel&lt;/a&gt;&lt;/p&gt;&lt;p&gt;将下载的PHPExcel压缩包解压到Yii Framework目录framework\vendors下&lt;/p&gt;&lt;p&gt;代码如下&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;     * 将数据导出到Excel&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; actionExport()&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;取要导出到Excel的数据&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$criteria&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;_getCriteria();&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$data&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; Statistics&lt;/span&gt;&lt;span style="color: #000000;"&gt;::&lt;/span&gt;&lt;span style="color: #000000;"&gt;model()&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;findAll(&lt;/span&gt;&lt;span style="color: #800080;"&gt;$criteria&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 获取PHPExcel引用路径&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$phpExcelPath&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; Yii&lt;/span&gt;&lt;span style="color: #000000;"&gt;::&lt;/span&gt;&lt;span style="color: #000000;"&gt;getPathOfAlias(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;system.vendors&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 关闭YII的自动加载功能，改用手动加载，否则会出错，PHPExcel有自己的自动加载功能&lt;br /&gt;        // YII框架对于组件的自动加载，要求类名与文件名一致；&lt;br /&gt;        // 而PHPExcel类对应的文件名包含了上级目录名称，如：IOFactory类对应的文件名为PHPExcel_IOFactory.php&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        spl_autoload_unregister(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;array&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;YiiBase&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;autoload&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;include&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #800080;"&gt;$phpExcelPath&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000000;"&gt; DIRECTORY_SEPARATOR &lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;PHPExcel.php&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;            &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下面是Excel数据导出处理逻辑&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; PHPExcel_IOFactory&lt;/span&gt;&lt;span style="color: #000000;"&gt;::&lt;/span&gt;&lt;span style="color: #000000;"&gt;load(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;./content/template/report.xlsx&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;getProperties()&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCreator(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;Kalman&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setTitle(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;统计报表&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setSubject(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;统计报表&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setDescription(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;统计报表&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setActiveSheetIndex(&lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCellValue(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;A1&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Hello&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCellValue(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;B2&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;world!&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCellValue(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;C1&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Hello&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCellValue(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;D2&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;world!&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setActiveSheetIndex(&lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setCellValue(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;A25&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;123456&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;getActiveSheet()&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setTitle(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;report&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Excel打开后显示的工作表&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;setActiveSheetIndex(&lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;通浏览器输出Excel报表&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #008080;"&gt;header&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008080;"&gt;header&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Content-Disposition: attachment;filename="report.xlsx"&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008080;"&gt;header&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Cache-Control: max-age=0&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objWriter&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; PHPExcel_IOFactory&lt;/span&gt;&lt;span style="color: #000000;"&gt;::&lt;/span&gt;&lt;span style="color: #000000;"&gt;createWriter(&lt;/span&gt;&lt;span style="color: #800080;"&gt;$objPHPExcel&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Excel2007&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #800080;"&gt;$objWriter&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;save(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;php://output&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;        Yii&lt;/span&gt;&lt;span style="color: #000000;"&gt;::&lt;/span&gt;&lt;span style="color: #000000;"&gt;app()&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;end&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;br /&gt;          &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;恢复Yii自动加载功能&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        spl_autoload_register(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;array&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;YiiBase&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;autoload&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;br /&gt;    }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/lingyun_k/aggbug/1872891.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lingyun_k/archive/2010/11/09/1872891.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2010/10/25/1860323.html</id><title type="text">T4代码生成器Kalman Studio发布</title><summary type="text">修改了以前的一些小BUG下载地址http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html</summary><published>2010-10-25T05:30:00Z</published><updated>2010-10-25T05:30:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2010/10/25/1860323.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2010/10/25/1860323.html"/><content type="html">&lt;p&gt;修改了以前的一些小BUG&lt;/p&gt;&lt;p&gt;下载地址&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html"&gt;http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lingyun_k/aggbug/1860323.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lingyun_k/archive/2010/10/25/1860323.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2010/05/09/1730909.html</id><title type="text">如何为Kalman Studio编写T4模板</title><summary type="text">昨天刚发布了Kalman Studio代码生成器，有人说T4模板不大会编写，其实很简单，会C#语法就会编写，我这里简单的介绍一下</summary><published>2010-05-09T01:51:00Z</published><updated>2010-05-09T01:51:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2010/05/09/1730909.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2010/05/09/1730909.html"/><content type="text">昨天刚发布了Kalman Studio代码生成器，有人说T4模板不大会编写，其实很简单，会C#语法就会编写，我这里简单的介绍一下</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html</id><title type="text">发布基于T4模板引擎的代码生成器[Kalman Studio]</title><summary type="text">自己空闲时间写的一个代码生成器，基于T4模板引擎的，也不仅是代码生成器，本来是打算做成一个开发辅助工具，最近也没时间进行完善，先发出来听听大家意见和建议。  这个代码生成器与其他代码生成器相比，不仅可以根据数据库元数据架构信息来生成代码，还可以解析PowerDesigner物理模型文件，根据PDM模型对象来生成代码；</summary><published>2010-05-08T14:18:00Z</published><updated>2010-05-08T14:18:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html"/><content type="text">自己空闲时间写的一个代码生成器，基于T4模板引擎的，也不仅是代码生成器，本来是打算做成一个开发辅助工具，最近也没时间进行完善，先发出来听听大家意见和建议。  这个代码生成器与其他代码生成器相比，不仅可以根据数据库元数据架构信息来生成代码，还可以解析PowerDesigner物理模型文件，根据PDM模型对象来生成代码；</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2009/11/25/1610633.html</id><title type="text">请谨慎设置WinForm控件DataGridView列的AutoSizeMode属性</title><summary type="text">在WinForm控件DataGridView中编辑列时，请谨慎设置AutoSizeMode属性，当该属性值不为NotSet或None时，比如DataGridView显示的数据达到上万级别时，将导致严重的性能问题。我在解析IIS日志时，大概5万条日志记录，解析花了两三秒钟，而将日志记录绑定到DataGridView就花了半分多钟，刚开始还以为是解析日志比较费时，测试后才知道是在绑定数据时消耗了大量的...</summary><published>2009-11-25T08:08:00Z</published><updated>2009-11-25T08:08:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2009/11/25/1610633.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2009/11/25/1610633.html"/><content type="text">在WinForm控件DataGridView中编辑列时，请谨慎设置AutoSizeMode属性，当该属性值不为NotSet或None时，比如DataGridView显示的数据达到上万级别时，将导致严重的性能问题。我在解析IIS日志时，大概5万条日志记录，解析花了两三秒钟，而将日志记录绑定到DataGridView就花了半分多钟，刚开始还以为是解析日志比较费时，测试后才知道是在绑定数据时消耗了大量的...</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2008/10/13/1309771.html</id><title type="text">安装apache_2.0.63-win32-x86出现no installed service named &amp;quot;apache2&amp;quot;</title><summary type="text">安装记录在Windows 2003下安装apache_2.0.63-win32-x86安装时选择了only for the Current User, on Port 8080, when started Manually安装完出现问题no installed service named "apache2"，Apache服务无法使用解决方案在Dos命令控制台，切换至Apache安装目录Bin目录执...</summary><published>2008-10-13T02:45:00Z</published><updated>2008-10-13T02:45:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2008/10/13/1309771.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2008/10/13/1309771.html"/><content type="text">安装记录在Windows 2003下安装apache_2.0.63-win32-x86安装时选择了only for the Current User, on Port 8080, when started Manually安装完出现问题no installed service named "apache2"，Apache服务无法使用解决方案在Dos命令控制台，切换至Apache安装目录Bin目录执...</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2007/05/01/733778.html</id><title type="text">.NET序列化与反序列化（转）</title><summary type="text">原文：http://dotnet.mblogger.cn/cuijiazhao/posts/3400.aspx.net提供了三种序列化方式:1.XML Serialize2.Soap Serialize3.Binary Serialize第一种序列化方式对有些类型不能够序列化,如hashtable;我主要介绍后两种类型得序列化一.Soap Serialize使用SoapFormatter.Seri...</summary><published>2007-04-30T16:03:00Z</published><updated>2007-04-30T16:03:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2007/05/01/733778.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2007/05/01/733778.html"/><content type="text">原文：http://dotnet.mblogger.cn/cuijiazhao/posts/3400.aspx.net提供了三种序列化方式:1.XML Serialize2.Soap Serialize3.Binary Serialize第一种序列化方式对有些类型不能够序列化,如hashtable;我主要介绍后两种类型得序列化一.Soap Serialize使用SoapFormatter.Seri...</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2007/04/01/695895.html</id><title type="text">手工查杀Win32/Pacex.Gen，Win32/Genetik，Win32/PSW.Agent.NCC，Win32/PSW.QQPass.VD病毒</title><summary type="text">今天上网，NOD32频频示警，就是提示标题所列的一大堆病毒木马，其实应该是一种病毒，NOD32不能彻底清除。病毒来源http://quxiuu.com/mimimi/jink.exe，jink.exe这个文件名随时会变，如：jinl.exe,jinf.exe,jinj.exe等病毒特征该病毒应该是一种木马，因为我发现Terminal Services服务被启动，而且不能被停止，一般我装系统后都要停...</summary><published>2007-04-01T05:34:00Z</published><updated>2007-04-01T05:34:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2007/04/01/695895.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2007/04/01/695895.html"/><content type="text">今天上网，NOD32频频示警，就是提示标题所列的一大堆病毒木马，其实应该是一种病毒，NOD32不能彻底清除。病毒来源http://quxiuu.com/mimimi/jink.exe，jink.exe这个文件名随时会变，如：jinl.exe,jinf.exe,jinj.exe等病毒特征该病毒应该是一种木马，因为我发现Terminal Services服务被启动，而且不能被停止，一般我装系统后都要停...</content></entry><entry><id>http://www.cnblogs.com/lingyun_k/archive/2006/09/02/493313.html</id><title type="text">win2003下安装Look n Stop网络防火墙导致系统蓝屏（tcpip.sys - address F75F5390   base at F75B4000,DataStamp 4473b09e）</title><summary type="text">不知是不是win2003操作系统不支持Look n Stop，安装后重启系统后，显示登陆界面后马上就蓝屏异常信息：tcpip.sys - address F75F5390base at F75B4000,DataStamp 4473b09e然后再次重启系统，按F8键，选择最后一次正确配置菜单进入系统后系统就没有再蓝屏了，最后将Look n Stop卸载后就再没出现过蓝屏具体原因没有去查资料，以前装...</summary><published>2006-09-02T13:38:00Z</published><updated>2006-09-02T13:38:00Z</updated><author><name>kalman</name><uri>http://www.cnblogs.com/lingyun_k/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lingyun_k/archive/2006/09/02/493313.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lingyun_k/archive/2006/09/02/493313.html"/><content type="text">不知是不是win2003操作系统不支持Look n Stop，安装后重启系统后，显示登陆界面后马上就蓝屏异常信息：tcpip.sys - address F75F5390base at F75B4000,DataStamp 4473b09e然后再次重启系统，按F8键，选择最后一次正确配置菜单进入系统后系统就没有再蓝屏了，最后将Look n Stop卸载后就再没出现过蓝屏具体原因没有去查资料，以前装...</content></entry></feed>
