將ReportingService產生的報表匯出成Excel

文章分類: C#

Reporting Service有內建按鈕可已匯出成Excel

可是如果遇到User希望直接匯出(User通常都比較懶惰,沒辦法Orz)的時候,也可以用程式自動處理

?View Code CSHARP
                Warning[] warnings;
                string[] streamids;
                string mimeType;
                string encoding;
                string extension;
 
                byte[] bytes = rptView.ServerReport.Render(
                   "Excel", null, out mimeType, out encoding, out extension,
                   out streamids, out warnings);
 
                System.IO.FileStream fs = new System.IO.FileStream(saveFileDialog1.FileName, System.IO.FileMode.Create);
                fs.Write(bytes, 0, bytes.Length);
                fs.Close();

[C#][LINQ]隨機排序的小技巧

文章分類: C#, LINQ

以前在學校學習陣列的隨機排序時, 大部分都是用swap的方法將雖機兩個元素對調, 並用迴圈隨機對調N次來達到隨機排序的效果, 寫成code大概長得就像這樣

?View Code CSHARP
            Random rand = new Random();
            int r1, r2;
            string tmpdata = "";
            for (int j = 0; j < nums.Count() * 10; ++j)
            {
                r1 = rand.Next(0, nums.Count());
                r2 = rand.Next(0, nums.Count());
 
                // swap
                tmpdata = nums[r2];
                nums[r2] = nums[r1];
                nums[r1] = tmpdata;
            }

但今天看到一個用LINQ表是的例子, 還滿有趣的, 原理是利用OrderBy來排序, 排序的根據則給近一個亂數, 就變成隨機排序了

繼續閱讀…

[C#]實做PercenTile

文章分類: C#

幫人分析資料要用到的函數,上網找了一下,使用跟Excel的PERCENTILE函數相同的處理方法
繼續閱讀…

解決WordPress Reauth迴圈(loop)問題

文章分類: PHP, Wordpress

這是今天忽然遇到的問題,就是登入Wordpress後台時,一直無法正常的登入,帳號密碼輸入錯誤時會跳出錯誤詢息,但輸入正確時依然自動導到登入頁面,上網查了半天幾乎都是安裝Multi Site才會出錯,但我根本沒使用Multi Site功能阿,找了整個晚上都無解,差點就要砍掉重練了,想說把所有Wordpress的程式重新上傳看看,在FTP時發現主機上有一個有趣的檔案叫做error_log,雖然不抱有期望,膽想說抓下來看看好了,才發現一個驚人的錯誤訊息

WordPress database error Table ‘./wellwind_studio/wp_options’ is marked as crashed and should be repaired for query

原來是wp_options莫名奇妙的crash了@@

上網查了一下修復的方法,簡單的可以,到後台phpmyadmin輸入SQL

REPAIR TABLE [wp_options]

打完收工!為了這麼簡單一段指令浪費我一個晚上,還好解決啦

希望也可以幫助到一些查不到解決方法的人

同時也提醒自己,以後出錯要記得先看error_log XD

[C#].Net編碼轉換 Unicode to Big5

文章分類: C#

.Net預設使用的文字編碼是Unicode,有時候會遇到不得不把這個編碼做轉換的工作,可以用以下的code把Unocode轉成Big5
繼續閱讀…

[DevExpress][C#]GridView下取得RepositoryItemComboBox選取值的方法

文章分類: C#, 程式設計 / Programing

一般使用DevExpress的ComboBox時要取值都可以直接抓EditValue屬性來用就好,可是在GridvView下增加的RepositoryItemComboBox卻沒有這個屬性,還好這個類別是繼承自DevExpress.XtraEditors.ComboBoxEdit,所以要抓取RepositoryItemComboBox的值時,只要簡單做個轉型就可以抓到了。
繼續閱讀…

[PHP]建立bit.ly縮網址

文章分類: PHP, 程式設計 / Programing

需要再bit.ly申請一個帳號並取得API KEY

 
/* returns the shortened url */
function get_bitly_short_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/shorten?login='.$login.'&apiKey='.$appkey.'&uri='.urlencode($url).'&format='.$format;
	return curl_get_result($connectURL);
}
 
/* returns expanded url */
function get_bitly_long_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/expand?login='.$login.'&apiKey='.$appkey.'&shortUrl='.urlencode($url).'&format='.$format;
	return curl_get_result($connectURL);
}
 
/* returns a result form url */
function curl_get_result($url) {
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}

資料來源 Create Bit.ly Short URLs Using PHP: API Version 3: http://davidwalsh.name/bitly-api-php

[PHP]建立tinyurl縮網址

文章分類: PHP, 程式設計 / Programing

function get_tiny_url($url)  {  
	$ch = curl_init();  
	$timeout = 5;  
	curl_setopt($ch,CURLOPT_URL,'http://tinyurl.com/api-create.php?url='.$url);  
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);  
	$data = curl_exec($ch);  
	curl_close($ch);  
	return $data;  
}

滿簡單的

資料來源 Create a TinyURL with PHP: http://davidwalsh.name/create-tiny-url-php

[T-SQL]抓取系統時間與格式轉換

文章分類: SQL Server, SQL語法, 資料庫 / Database

這陣子開發的程式很頻繁的要用到資料庫抓系統的時間
腦子不好每次找到就忘記 所以乾脆貼上來做的紀錄
繼續閱讀…

[T-SQL]在巢狀迴圈抓@@fetch_status會回傳-1的解決方法

文章分類: SQL Server, SQL語法, 資料庫 / Database

再使用WHILE把SQL裡面SELECT的資料篩選出來時,通常是抓@@fetch_status來取得目前截取資料的狀態
繼續閱讀…

Bad Behavior has blocked 16 access attempts in the last 7 days.