2011年12月14日 星期三

C# 字串修改

string no = "1,2,3,4,5,"; //1,2,3,4,5
no = no.Remove(no.Length - 1);

2011年10月5日 星期三

Regular Expression for Javascript

整數或小數 /^[0-9]+(\.[0-9]+)?$/
整數5位或小數3位 /^[0-9]{1,5}(\.[0-9]{1,3})?$/
整數 /^[0-9]/
<input type="text" name="name1" value ="123" onblur="checkInput(this,this.value)"></input>
<script language="javascript" type="text/javascript">//Added by Sting -- 2011/10/03
function checkInput(obj,v){
v = v.replace(/\,/g, "");
if(v != "")
{
var pattern = new RegExp(/^[0-9]+(\.[0-9]+)?$/);
if(!pattern.test(v)){
alert("Please enter the number!");
obj.select();
return false;
}}}
</script>

2011年3月14日 星期一

NOPI匯出excel

protected void export_excel(DataTable dt, String filename)
{
// 產生 Excel 資料流。
MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(dt) as MemoryStream;
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.CreateSheet("人員清單");
// 建立儲存格樣式
HSSFCellStyle style1 = workbook.CreateCellStyle();
style1.Alignment = HSSFCellStyle.ALIGN_CENTER;
//表頭置中
HSSFRow dataRow = sheet.CreateRow(0);
HSSFCell cell = sheet.CreateRow(0).CreateCell(0);
foreach (DataColumn column in dt.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
dataRow.GetCell(column.Ordinal).CellStyle = style1;
}
//設定表頭寬度
sheet.SetColumnWidth(0, dt.Columns[0].ToString().Length * 700);
sheet.SetColumnWidth(1, dt.Columns[1].ToString().Length * 1000);
sheet.SetColumnWidth(2, dt.Columns[2].ToString().Length * 1500);
sheet.SetColumnWidth(3, dt.Columns[3].ToString().Length * 3000);
//內容
for (int i = 0; i < dt.Rows.Count; i++)
{
dataRow = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
{
dataRow.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
}}
workbook.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xls"));
Response.BinaryWrite(ms.ToArray());
ms.Close();
ms.Dispose();
}

2011年2月16日 星期三

ASP.NET 網站檔案打包 壓縮 下載

http://dotnetzip.codeplex.com/ 下載檔案
並參照引用 DotNetZipLib-DevKit-v1.9.zip\DotNetZip-v1.9\Release\Ionic.Zip.dll
Imports Ionic.Zip
If (IO.Directory.Exists(Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text))) Then
IO.Directory.Delete(Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text), True)
End If
IO.Directory.CreateDirectory(Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text))
Dim scrpath As String = Server.MapPath("~\File_Save\")
Dim dstpath As String = Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text + "\")
File.Copy(scrpath + '檔名', dstpath + Replace(Replace('檔名', "\", ""), "/", "") + ".JPG", True)
Dim files() As String = Directory.GetFiles(Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text))
Using zip As New ZipFile(System.Text.Encoding.Default)'中文問題
For Each s As String In files
zip.AddFile(s, DropDownList1.SelectedItem.Text)
Next
zip.Save(Server.MapPath("~\Photo_Package\" + DropDownList1.SelectedItem.Text + ".zip"))
End Using

2011年1月12日 星期三

RDLC報表每頁固定筆數

1.新增群組,輸入下面公式 =Int((RowNumber(NOTHING)-1)/35) 35筆一頁
2.群組的分頁符號選項勾選"在群組的每個執行個體之間"

若要拆成5筆資料一條黑線
在BorderStyle的Bottom公式輸入 =IIf(RowNumber("K01") mod 5 =0,"Double","None")即可