jl99000

努力是通向成功的唯一大道
posts - 3, comments - 0, trackbacks - 0, articles - 1
  博客园 ::  :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年12月23日

function onlyNum(evt)
{  
    if(evt==null){evt=window.event;}
    var keycode = evt.keyCode;   //取得键盘码
    var realkey = String.fromCharCode(keycode);    //以键盘码转成键盘符号
    if(keycode==8 ||keycode==9 || keycode==46|| (keycode>=35 && keycode<=40)||(keycode>=96 && keycode<=105))
       return;  
    else if(!/\d/.test(realkey))
    {
        if(navigator.appName=="Netscape")
        {
            //区分浏览器种类
            evt.preventDefault();
            return false;
        }
        else
        {
            window.event.returnValue = false;
        }
    }
}

posted @ 2008-12-23 21:46 JL 阅读(71) 评论(0) 编辑

2008年12月16日

使用 ADO.NET 将数据传输到工作表

您可以使用 Microsoft Jet OLE DB 提供程序向现有 Excel 工作簿中的表中添加记录。Excel 中的 只是由单元格组成的区域;该区域可能具有规定的名称。通常,区域的第一行包含标题(或字段名),该区域中所有以后的行都包含记录。

下面的代码向 Book7.xls 中的表添加了两个新记录。在此情况下,该表是 Sheet1:
// Establish a connection to the data source.
System.Data.OleDb.OleDbConnection objConn = new System.Data.OleDb.OleDbConnection(
	"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + m_strSampleFolder +
	"Book7.xls;Extended Properties=Excel 8.0;");
objConn.Open();

// Add two records to the table named 'MyTable'.
System.Data.OleDb.OleDbCommand objCmd = new System.Data.OleDb.OleDbCommand();
objCmd.Connection = objConn;
objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
	" values ('Bill', 'Brown')";
objCmd.ExecuteNonQuery();
objCmd.CommandText = "Insert into MyTable (FirstName, LastName)" +
	" values ('Joe', 'Thomas')";
objCmd.ExecuteNonQuery();

// Close the connection.
objConn.Close();
		

posted @ 2008-12-16 18:55 JL 阅读(38) 评论(0) 编辑

和前面一篇用OleDB的方法类似,我们可以用ADO从RecordSet对象向Excel批量插入数据,这个方法无法自动复制字段名。
我们需要引用ADO和Excel的com对象

参考代码如下

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApplication18
{
    class Program
    {
        static void Main(string[] args)
        {
            ExportDataToExcel("server=(local);uid=sa;pwd=sqlgis;database=master",
                "select * from sysobjects",@"c:\testADO.xls","sysobjects");
        }
        
        static void ExportDataToExcel(string connectionString,string sql,string fileName,string sheetName)
        {
            Excel.Application app = new Excel.ApplicationClass();
            Excel.Workbook wb = (Excel.WorkbookClass)app.Workbooks.Add(Missing.Value);
            Excel.Worksheet ws = wb.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;
            ws.Name = sheetName;
            try
            {
                ADODB.Connection conn = new ADODB.ConnectionClass();
                conn.Open("driver={SQL Server};"+connectionString,"","",0);
                ADODB.Recordset rs = new ADODB.RecordsetClass();
                rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly, 0);
                Excel.Range range = ws.get_Range("A2", Missing.Value);
                range.CopyFromRecordset(rs, 65535, 65535);
            }
            catch (Exception ex)
            {
                string str = ex.Message;
            }
            finally
            {
                wb.Saved = true;
                wb.SaveCopyAs(fileName);//保存
                app.Quit();//关闭进程
            }
        }
    }
}

posted @ 2008-12-16 18:47 JL 阅读(245) 评论(0) 编辑