用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
ianc的公告
<div style="margin:0px auto"><OBJECT style="WIDTH: 68px; HEIGHT: 78px" codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 height=78 width=68 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="1799"><PARAM NAME="_cy" VALUE="2064"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="http://blog.netbei.com/skin/officexp/tiem.swf"><PARAM NAME="Src" VALUE="http://blog.netbei.com/skin/officexp/time.swf"><PARAM NAME="WMode" VALUE="Transparent"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"> <embed src="http://blog.netbei.com/skin/officexp/tiem.swf" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32" height="32"></embed> </OBJECT></div>
文章分类
不错的Blog
flygoldfish
http://np2005.blogdriver.com(RSS)
ξσ Dicky's Blog σξ(RSS)
仰天一笑(RSS)
谭振林
资源
DataGrid 使用大全
天堂之鹰学习堂
经验技巧-网站设计师文摘
存档

转载  使用XML创建Excel文档(转) 收藏

本文介绍了一种使用XML来创建Excel文档的方法。采用这个方法将不要求客户端安装Excel应用程序。
相信这个方法对于B/S系统有很大的用处。

原例子使用VB.Net写的,以下的用C#改写的代码
原文代码:
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=ddbaecb9-a260-4656-9f22-300b6a1ce66c
本例使用XML来创建Excel文档,但在运行时不需要安装Excel程序。

  DataSet mDSData = new DataSet();
            mDSData.Tables.Add("myTable");

            mDSData.Tables["myTable"].Columns.Add("ID");
            mDSData.Tables["myTable"].Columns.Add("Name");
            mDSData.Tables["myTable"].Columns.Add("PassWord");

            for (int i = 0; i < 10; i++)
            {
                DataRow dr = mDSData.Tables["myTable"].NewRow();
                dr["ID"] = i;
                dr["Name"] = i;
                dr["PassWord"] = i;
                mDSData.Tables["myTable"].Rows.Add(dr);
            }

            SaveFileDialog dialog1 = new SaveFileDialog();
            dialog1.AddExtension = true;
            dialog1.CheckPathExists = true;
            dialog1.Filter = "Excel Workbooks (*.xls) | *.xls";
            dialog1.OverwritePrompt = true;
            dialog1.Title = "Save Excel Formatted Report";
            if (dialog1.ShowDialog() == DialogResult.OK)
            {
                int num2 = 0;
                int num3 = mDSData.Tables[0].Rows.Count + 1;
                int num1 = mDSData.Tables[0].Columns.Count;
                num2 = 0;
                string text1 = dialog1.FileName;
                if (File.Exists(text1))
                {
                    File.Delete(text1);
                }
                StreamWriter writer1 = new StreamWriter(text1, false);
                StreamWriter writer2 = writer1;
                writer2.WriteLine("<?xml version=\"1.0\"?>");
                writer2.WriteLine("<?mso-application progid=\"Excel.Sheet\"?>");
                writer2.WriteLine("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"");
                writer2.WriteLine(" xmlns:o=\"urn:schemas-microsoft-com:office:office\"");
                writer2.WriteLine(" xmlns:x=\"urn:schemas-microsoft-com:office:excel\"");
                writer2.WriteLine(" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"");
                writer2.WriteLine(" xmlns:html=\"http://www.w3.org/TR/REC-html40\">");
                writer2.WriteLine(" <DocumentProperties xmlns=\"urn:schemas-microsoft-com:office:office\">");
                writer2.WriteLine("  <Author>Automated Report Generator Example</Author>");
                writer2.WriteLine(string.Format("  <Created>{0}T{1}Z</Created>", DateTime.Now.ToString("yyyy-mm-dd"), DateTime.Now.ToString("HH:MM:SS")));
                writer2.WriteLine("  <Company>Your Company Here</Company>");
                writer2.WriteLine("  <Version>11.6408</Version>");
                writer2.WriteLine(" </DocumentProperties>");
                writer2.WriteLine(" <ExcelWorkbook xmlns=\"urn:schemas-microsoft-com:office:excel\">");
                writer2.WriteLine("  <WindowHeight>8955</WindowHeight>");
                writer2.WriteLine("  <WindowWidth>11355</WindowWidth>");
                writer2.WriteLine("  <WindowTopX>480</WindowTopX>");
                writer2.WriteLine("  <WindowTopY>15</WindowTopY>");
                writer2.WriteLine("  <ProtectStructure>False</ProtectStructure>");
                writer2.WriteLine("  <ProtectWindows>False</ProtectWindows>");
                writer2.WriteLine(" </ExcelWorkbook>");
                writer2.WriteLine(" <Styles>");
                writer2.WriteLine("  <Style ss:ID=\"Default\" ss:Name=\"Normal\">");
                writer2.WriteLine("   <Alignment ss:Vertical=\"Bottom\"/>");
                writer2.WriteLine("   <Borders/>");
                writer2.WriteLine("   <Font/>");
                writer2.WriteLine("   <Interior/>");
                writer2.WriteLine("   <Protection/>");
                writer2.WriteLine("  </Style>");
                writer2.WriteLine("  <Style ss:ID=\"s21\">");
                writer2.WriteLine("   <Alignment ss:Vertical=\"Bottom\" ss:WrapText=\"1\"/>");
                writer2.WriteLine("  </Style>");
                writer2.WriteLine(" </Styles>");
                writer2.WriteLine(" <Worksheet ss:Name=\"MyReport\">");
                writer2.WriteLine(string.Format("  <Table ss:ExpandedColumnCount=\"{0}\" ss:ExpandedRowCount=\"{1}\" x:FullColumns=\"1\"", num1.ToString(), num3.ToString()));
                writer2.WriteLine("   x:FullRows=\"1\">");
                foreach (DataRow row1 in mDSData.Tables[0].Rows)
                {
                    writer2.WriteLine("<Row>");
                    for (num2 = 0; num2 != num1; num2++)
                    {
                        writer2.Write("<Cell ss:StyleID=\"s21\"><Data ss:Type=\"String\">");
                        writer2.Write(row1[num2].ToString());
                        writer2.WriteLine("</Data></Cell>");
                    }
                    writer2.WriteLine("</Row>");
                }
                writer2.WriteLine("  </Table>");
                writer2.WriteLine("  <WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">");
                writer2.WriteLine("   <Selected/>");
                writer2.WriteLine("   <Panes>");
                writer2.WriteLine("    <Pane>");
                writer2.WriteLine("     <Number>3</Number>");
                writer2.WriteLine("     <ActiveRow>1</ActiveRow>");
                writer2.WriteLine("    </Pane>");
                writer2.WriteLine("   </Panes>");
                writer2.WriteLine("   <ProtectObjects>False</ProtectObjects>");
                writer2.WriteLine("   <ProtectScenarios>False</ProtectScenarios>");
                writer2.WriteLine("  </WorksheetOptions>");
                writer2.WriteLine(" </Worksheet>");
                writer2.WriteLine(" <Worksheet ss:Name=\"Sheet2\">");
                writer2.WriteLine("  <WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">");
                writer2.WriteLine("   <ProtectObjects>False</ProtectObjects>");
                writer2.WriteLine("   <ProtectScenarios>False</ProtectScenarios>");
                writer2.WriteLine("  </WorksheetOptions>");
                writer2.WriteLine(" </Worksheet>");
                writer2.WriteLine(" <Worksheet ss:Name=\"Sheet3\">");
                writer2.WriteLine("  <WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">");
                writer2.WriteLine("   <ProtectObjects>False</ProtectObjects>");
                writer2.WriteLine("   <ProtectScenarios>False</ProtectScenarios>");
                writer2.WriteLine("  </WorksheetOptions>");
                writer2.WriteLine(" </Worksheet>");
                writer2.WriteLine("</Workbook>");
                writer2 = null;
                writer1.Close();
                MessageBox.Show("Report Created", "Success", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }

发表于 @ 2007年01月27日 10:17:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:2006最佳安全工具(Top 100 Network Security Tools)--转载 | 新一篇:RSS 2.0规范

  • 发表评论
  • 评论内容:
  •  
Copyright © ianc
Powered by CSDN Blog