Jul 21, 2009

Split a big xlsx file to several small files


Dim sFSO,sExcelApp,ExBook,NewBook,SourceSheet,NewSheet,oRange
Dim Parameters,fullfilepath,bookcount,sfile
SET Parameters = Wscript.arguments
Set sFSO = CreateObject("Scripting.FileSystemObject")
'If no command line arguments provided, quit
If Parameters.Count = 0 Then
WScript.Quit(1)
Else
fullfilepath = Parameters.item(0)
End If

If fullfilepath = "" or Not Right(fullfilepath,5) = ".xlsx" or Not sFSO.FileExists(fullfilepath) Then
Error=MsgBox("No valid input file provided. Stopping the script now.",vbokonly, "CK")
WScript.Quit(1)
End If

On Error Resume Next 'Resume Error
Set sExcelApp = CreateObject("Excel.Application") 'Create Excel instance
If Err.Number <> 0 Then 
Err.Clear
WScript.Quit(1)
End If

sExcelApp.Workbooks.Open (fullfilepath)
Set ExBook = sExcelApp.ActiveWorkbook
Set SourceSheet = ExBook.worksheets(1)
Set oRange = SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, 1)).CurrentRegion
nMaxRow = oRange.Rows.Count
nMaxCol = oRange.Columns.Count
bookcount=int(nMaxRow/50000)+1
'set RangeArray(0) = SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, nMaxCol))
sExcelApp.Application.DisplayAlerts = False
    For i = 1 To bookcount
if i=bookcount then 
LastRow=nMaxRow
else
LastRow=50000*i
end if
NewFullFileName=left(fullfilepath,len(fullfilepath)-5) & "_" & i & right(fullfilepath,5)
if sFSO.FileExists(NewFullFileName) then 
set sfile=sFSO.GetFile(NewFullFileName)
sfile.delete
end if

'set RangeArray(1) = SourceSheet.Range(SourceSheet.Cells(LastRow-50000+1, 1), SourceSheet.Cells(LastRow, nMaxCol)).Value
Set NewBook = sExcelApp.Workbooks.Add
Set NewSheet = NewBook.worksheets(1)
NewSheet.Range(NewSheet.Cells(1,1), NewSheet.Cells(1, nMaxCol)).value=SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, nMaxCol)).value
NewSheet.Range(NewSheet.Cells(LastRow-50000+1, 2), NewSheet.Cells(LastRow, nMaxCol))=SourceSheet.Range(SourceSheet.Cells(LastRow-50000+1, 1), SourceSheet.Cells(LastRow, nMaxCol)).Value
NewBook.SaveAs (NewFullFileName)
NewBook.Close True
Set NewBook = Nothing
set NewSheet=nothing
Next
ExBook.Close True
If Err.Number = 0 Then Set sfile = sFSO.CreateTextFile(left(fullfilepath,len(fullfilepath)-5) & ".swf", True)
'Wscript.Echo "err:" & Err.Number & left(fullfilepath,len(fullfilepath)-5) & ".swf.txt"
sExcelApp.Application.DisplayAlerts = True
    sExcelApp.Quit
Set sFSO=Nothing
Set sExcelApp=Nothing
set ExBook = Nothing
set sfile=nothing
'**********************************************************************************************************   

Jul 13, 2009

Oracle的Blob bug一例

MSN Chat:
2009-7-13  16:01:09  方蓉  周详珍  你好哦 
2009-7-13  16:01:39  周详珍  方蓉  你好呀~ 
2009-7-13  16:01:52  方蓉  周详珍  请教你个问题哦 
2009-7-13  16:01:57  方蓉  周详珍  :) 
2009-7-13  16:02:27  方蓉  周详珍  就是数据库中的2个实例下的各自的用户之间导数据,但是BLOB型的大数据导不进去 
2009-7-13  16:02:34  方蓉  周详珍  表也属于不同的表空间  
2009-7-13  16:02:44  方蓉  周详珍  这样一般会是什么问题呢? 
2009-7-13  16:10:15  周详珍  方蓉  你的数据库版本, 
2009-7-13  16:10:25  方蓉  周详珍  恩 好的  
2009-7-13  16:10:26  方蓉  周详珍  问问 
2009-7-13  16:10:29  方蓉  周详珍  我问问 
2009-7-13  16:11:25  周详珍  方蓉  你说的两个实例其实是在同一台主机上的两个Database,还是同一个Database下的两个Schema 
2009-7-13  16:11:27  周详珍  方蓉  ? 
2009-7-13  16:11:35  方蓉  周详珍  版本是一样的9.2 
2009-7-13  16:12:02  周详珍  方蓉  oracle9.2.0.1的有这个bug  
2009-7-13  16:12:18  周详珍  方蓉  你详细的版本号是多少? 
2009-7-13  16:13:03  方蓉  周详珍  恩  
2009-7-13  16:13:29  方蓉  周详珍  是我旁边的一个同事让我研究一下这个 
2009-7-13  16:13:36  方蓉  周详珍  我问问他 
2009-7-13  16:13:59  方蓉  周详珍  同一台主机上两个database 
2009-7-13  16:14:14  周详珍  方蓉  还有你是怎么导的?使用什么工具? 
2009-7-13  16:14:52  方蓉  周详珍  他用imp导的 
2009-7-13  16:17:24  周详珍  方蓉  imp/exp应该没有问题的,你搜索下看看Oracle的bug列表看看,貌似这个版本有个bug 
2009-7-13  16:18:43  方蓉  周详珍  恩 好的  
2009-7-13  16:18:51  方蓉  周详珍  我再导一下数据 
2009-7-13  16:18:57  方蓉  周详珍  看看报什么错 
2009-7-13  16:19:04  方蓉  周详珍  在我自己的电脑上实践下  
2009-7-13  16:19:27  方蓉  周详珍  一个数据库下,2个不同实例下的不同用户间导  
2009-7-13  16:19:54  周详珍  方蓉  EXP-00003? 
2009-7-13  16:20:27  周详珍  方蓉  请确认版本和服务器版本一致,不然测试不出来的 
2009-7-13  16:20:41  周详珍  方蓉  你自己电脑上的版本? 
2009-7-13  16:20:56  周详珍  方蓉  刚才这个问题确实是oracle的一个bug 
2009-7-13  16:21:02  方蓉  周详珍  恩 我看看】 
2009-7-13  16:21:20  方蓉  周详珍  恩 我的是 9.2.0.1.0 
2009-7-13  16:21:42  方蓉  周详珍  恩 我先试试 
2009-7-13  16:21:55  周详珍  方蓉  方法1:数据库升级方法2:更改$ORACLE_HOME/rdbms/admin/catexp.sql这个脚本,然后用sys帐号执行该脚本 
2009-7-13  16:21:57  方蓉  周详珍  那还有什么其他方法可以导 
2009-7-13  16:22:18  方蓉  周详珍  可以避免这个错误的? 
2009-7-13  16:22:19  周详珍  方蓉  脚本改成:
CREATE OR REPLACE VIEW exu9tne ( tsno, fileno, blockno, length) AS 
SELECT ts#, segfile#, segblock#, length 
FROM sys.uet$ WHERE ext# = 1   
UNION ALL 
SELECT * from sys.exu9tneb  
2009-7-13  16:22:30  周详珍  方蓉  就可以了。 
2009-7-13  16:22:38  方蓉  周详珍  恩 好的 
2009-7-13  16:22:59  方蓉  周详珍  这边的是装在WINDOWS 2003SERVER上的 
2009-7-13  16:23:24  方蓉  周详珍  好的  
2009-7-13  16:23:25  周详珍  方蓉  那就再对应路径上 
2009-7-13  16:23:28  方蓉  周详珍  我试试 
2009-7-13  16:23:34  方蓉  周详珍  恩 知道了哦  
2009-7-13  16:23:42  方蓉  周详珍  :D 谢谢哦~~~~  

Thanks
Xiangzhen

Apr 13, 2009

Create function get_file_fieldlist

Create function get_file_fieldlist(

Template_NO_in in number

) return varchar2 is

Type fieldlist is table of varchar2

Index by binary interger;

Field_Names fieldlist;

V_STR VARCHAR2(30) ;

V_result  varchar2(2000) ;

Begin

Select  'Information_'||field_no||' as '||column_name ||', '

bulk collect into Field_Names

Where  upper(effective_flg)='Y' and Template_NO=Template_NO_in;

V_STR =FIELD_NAMES(FIELD_NAMES.LAST);

FIELD_NAMES(FIELD_NAMES.LAST)=SUBSTR(V_STR,1,LENGTH(V_STR)-1);

For I IN 1 ..FIELD_NAMES.COUNT  LOOP

Vl_result :=VL_RESULT||FIELD_NAMES(I);

END LOOP;

RETURN V_RESULT;

end


Apr 5, 2009

Logo 的进化史[FW]






先从时尚的苹果开始吧

有意思吧
也有土的时候




有意思吧
shell
以前还真是个贝壳,由黑白转为彩色。

 




有意思吧
宝马变化的很忧郁

 




有意思吧
Nike
让我们知道当品牌起来以后只要一个符号就可以了

 




有意思吧
你肯定看不出早期的IBM是什么吧,那是因为IBM早期是叫
International Time Recording Company
,生产mechanical time recorders

 




有意思吧
看得出是个挣扎的过程

 




有意思吧
Google
,不会以为它一直一个样吧,短短十年也能感觉到早期有点土气呢!

 




有意思吧
柯达由简单变复杂,最后又回到简单。

 




有意思吧
微软最初""""是分开的

 




有意思吧
不要怪大众早期设计者,这个蜘蛛网的Logo 和胡子元首希特勒有关,
想想纳粹标志啥样子就知道其中的渊源了

 




有意思吧
万事达,第一个怎么感觉是咨询中心。

 




有意思吧
百事三个进化历程,40以前增肥阶段,4091瓶盖滚成了个球,91到现在,上蹿下跳的球。

 




有意思吧
火狐怎么原来怎么是只火鸟,那是因为早期叫Phoenix,不过也太丑了!

 




有意思吧
Life's Good
,过去怎么是黑瓶子?

 




有意思吧
奔驰是没什么雷人的,恒久不变的经典标志,三个箭头星代表奔驰车是海陆空三栖地
一个美好愿望,不过至少陆上是没问题地,海里天上大家就看看剑慕斯棒得吧!

 




http://file.u148.net/images/2009/2/1236926791789.jpg
诺基亚在芬兰语里是指一种灭绝的黑皮黄鼠狼的意思,但是早期的Logo却是一只鱼,
但是早期的诺基亚既不是卖黄鼠狼皮的,也不是卖鱼的。而是卖橡胶制品的……转行了

 




有意思吧
最开始的福特Logo很像哪里拆下来的破旧的灯箱广告,
你要是知道福特先生给爱迪生工作过就明白为什么了!

 




有意思吧
沃尔玛也是玩了次复杂又回来了,不过带回来个星星。

 

 




Mar 29, 2009

与历史相比,人生是短暂的,生命终要被时间燃烧成灰烬
与痛苦相比,欢乐是短暂的,欢乐的体验过程也是短暂的

有人说
当你不能够再拥有
你唯一可以做的就是令自己不要忘记

也许有些人,你不想再见
但是等想见时却已经见不着了

也许有些事,你不想再提
却又总是用记忆检验自己是否已经忘记

散时,你以为乃人生寻常
再聚时却早已物是人非
又或竟再聚无日,一别成永诀

也许你太在意爱情,把它当成是一场有输赢的战争
多年后你却发现在蹉跎中错过了自己最好的时候

当你以为悟透了人生
却发现自己已然少了那份弥足珍贵的单纯