新年了,給自己買一個禮物,獎勵一下自己一年辛勤的勞動。
I966還是一部不錯的電話,用了一天,感覺到了國產電子產品在不斷的進步。原來我用的是Nokia6021,我有463個聯系人共計1000多個電話號碼、電子郵件和地址等信息。要全部導在新的電話中也是一件需要動腦筋的工作。
Nokia有PC套件,所有的電話簿都會同步在Outlook中。
第一步,我先把所有的Outlook聯系人選擇導出成Windows以逗號分隔的CSV文件。這實際上是一種文本文件。
第二步,用Excel打開這個導出的文件,把第一行編輯成這10列:
---------------------------------------------------------------------
姓名,群組,移動電話,家庭電話,商務電話,傳真,其它電話,電子郵件,地址,備注
---------------------------------------------------------------------
這時候,會發現所有長的電話號碼都變成了指數表示方式,如“139+E8”,需要把這些列進行單元格式轉換變為“數值”,然后再把所有的單元格轉換為“文本”。注意:這樣會有一個結果,區號前面的0會被去掉,需要手工補回!
第三步,這是是大量的手工調整工作。因為OUTLOOK轉換出來的文件有幾十個字段,而聯想格式只有10個列。先去掉沒有用的空字段,然后把其他各個欄目的內容分別移動到對應的新的列中。注意在同一行中移動,以免把電話號安錯人。這樣直到整個表只有上述10列為止。
第四步,把EXCEL另存為CSV格式文件,然后用文本編輯器打開,推薦用UltraEdit32編輯。首先全局把所有的雙引號替換為什么都沒有(不是空格),然后保存。
第五步,轉換成聯想格式的文本文件。聯想格式的文本文件是每個列都帶引號的CSV文件。一個一個加太費勁了,使用編輯器的紅替換也很難做到盡善盡美。于是我寫了一段perl程序腳本,用來自動的把所有的有內容的字段加上引號。腳本代碼如下:
tel.pl
#!c://perl//bin//perl.exe
####################################
#"姓名","群組" ,"移動電話" ,"家庭電話","商務電話" ,"傳真","其它電話" ,"電子郵件","地址","備注"
#"張峰","未分組","139xxxxxxxx","" ,"xxxxxxxxx","" ,"133xxxxxxxx","","","","","","",""
####################################
$filename_src = @ARGV[0];
$filename_out = "tel.csv";
unless (open (SRCFILE, "<$filename_src"))
{
die ("/n錯誤:不能打開你指定的文件:$filename_src/n");
}
unless (open (OUTFILE, ">$filename_out"))
{
die ("/n錯誤:不能打開你指定的文件:$filename_out/n");
}
while(<SRCFILE>)
{
chomp;
@line = split(/,/,$_);
if($line[0] ne "")
{
$a1 = "/"$line[0]/"";
}
else
{
$a1 = "";
}
if($line[1] ne "")
{
$a2 = "/"$line[1]/"";
}
else
{
$a2 = "";
}
if($line[2] ne "")
{
$a3 = "/"$line[2]/"";
}
else
{
$a3 = "";
}
if($line[3] ne "")
{
$a4 = "/"$line[3]/"";
}
else
{
$a4 = "";
}
if($line[4] ne "")
{
$a5 = "/"$line[4]/"";
}
else
{
$a5 = "";
}
if($line[5] ne "")
{
$a6 = "/"$line[5]/"";
}
else
{
$a6 = "";
}
if($line[6] ne "")
{
$a7 = "/"$line[6]/"";
}
else
{
$a7 = "";
}
if($line[7] ne "")
{
$a8 = "/"$line[7]/"";
}
else
{
$a8 = "";
}
if($line[8] ne "")
{
$a9 = "/"$line[8]/"";
}
else
{
$a9 = "";
}
if($line[9] ne "")
{
$a10 = "/"$line[9]/"";
}
else
{
$a10 = "";
}
PRint OUTFILE "$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10/n";
}
close(SRCFILE);
close(OUTFILE);
第七步,腳本使用ActivePerl解釋器解釋運行(可以從網上搜索下載安裝,免費的),命令行如下:
perl tel.pl telbook3.csv
第八步,執行完后,會生成一個tel.csv的文件。這個文件就是接近成品了。在i966電話上建立一個所有字段都有內容的聯系人,通過“工具”-“內存管理”-“導出”功能導出這個聯系人,然后通過藍牙把這個文件傳到PC上,用UltraEdit打開,會發現這個文件是“U-DOS”格式,也就是unicode的一種。我們把剛才那個半成品文件的內容選擇轉貼到這個文件里面,保存后,就形成了成品文件。然后用藍牙把文件傳送回電話的內存,選擇導入即可完成全部的電話簿導入工作了。
這一過程可是夠費勁的,為此還專門寫了一個程序。我的職業是一個網管,因此編程什么的也還比較熟練。整個過程大約用了2小時吧。
順便提一下:我感覺國產電話的設計相當簡潔,符合中國人的習慣。比如說日程安排這個我非常常用的功能,i966上面就只有一項日程安排設定。而Nokia上面被分為“會議”“紀念日”“備忘”等若干項,其實盡可以被一項備忘錄所代替。
祝大家使用愉快,希望朋友們支持中國設計、中國制造,愿我們的民族工業更強大。
新聞熱點
疑難解答
圖片精選