2011年5月26日 星期四

Google Code : Linq to Excel

想讀取EXCEL有很多方法
NPOI最常見

但若是在2007以後,.NET 3.5以後
可以用LINQ的方法處理

可以參考下面網址
以程式方式讀取Excel的另一項選擇-Linq to Excel
http://www.dotblogs.com.tw/terrychuang/archive/2011/05/26/26308.aspx

Android 取得 Google Map 導航資料

下面連結是可以直接取用
用來轉換Google Map的導航路徑的
[Android] Google Map(三)– 取得導航資訊
http://www.dotblogs.com.tw/alonstar/archive/2011/05/26/26310.aspx


private List _points = new ArrayList();

public List GetDirection()
{
String mapAPI = "http://maps.google.com/maps/api/directions/json?origin={0}&destination={1}&language=zh-TW&sensor=true";
String url = MessageFormat.format(mapAPI, _from, _to);

HttpGet get = new HttpGet(url);
String strResult = "";
try
{

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);
HttpClient httpClient = new DefaultHttpClient(httpParameters);

HttpResponse httpResponse = null;
httpResponse = httpClient.execute(get);

if (httpResponse.getStatusLine().getStatusCode() == 200)
{
strResult = EntityUtils.toString(httpResponse.getEntity());

JSONObject jsonObject = new JSONObject(strResult);
JSONArray routeObject = jsonObject.getJSONArray("routes");
String polyline = routeObject.getJSONObject(0).getJSONObject("overview_polyline").getString("points");

if (polyline.length() > 0)
{
decodePolylines(polyline);
}

}
}
catch (Exception e)
{
Log.e("map", "MapRoute:" + e.toString());
}

return _points;
}

private void decodePolylines(String poly)
{
int len = poly.length();
int index = 0;
int lat = 0;
int lng = 0;

while (index < len) { int b, shift = 0, result = 0; do { b = poly.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20);
int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lat += dlat;

shift = 0;
result = 0;
do
{
b = poly.charAt(index++) - 63;
result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20);
int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lng += dlng;

GeoPoint p = new GeoPoint((int) (((double) lat / 1E5) * 1E6), (int) (((double) lng / 1E5) * 1E6));
_points.add(p);

}
}

SQL 2008 TVP

再SQL 2008中想要由.Net中大量插入資料
有新選擇,不難寫,但效率很高
可以直接將DataTable整個丟到SQL中
在整批插入

可以參考此篇
SQL 2008 TVP資料匯入之火力展示
http://blog.darkthread.net/post-2011-05-26-import-with-sql-tvp.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Darkthread+%28Darkthread%29

IE9,FireFox,Chrome下看不到WPF的畫面

在安全性和DLL沒註冊下是沒法看WPF畫面的
可以依照下面連結的步驟處理

http://www.dotblogs.com.tw/ouch1978/archive/2011/03/16/wpf-view-xbap-in-browsers.aspx