2019年5月2日 星期四

[C#] dotnetzip 打包多筆word匯出zip


使用dotnetzip 套件來打包多筆word

直接將byte存進zip並存在記憶體匯出檔案

// 測試用匯出zip 多筆word
var bytes = exportSvc.Export(ID);
var bytes2 = exportSvc.Export(ID);
 
// 打包多筆Word
using (var zip = new ZipFile())
{
    zip.AddEntry("name_of_the_file.docx", bytes);
    zip.AddEntry("name_of_the_file2.docx", bytes2);
 
    // 存記憶體並匯出
    using (MemoryStream output = new MemoryStream())
    {
        zip.Save(output);
        return File(output.ToArray(), "application/zip", "sample.zip");
    }
}


2019年4月30日 星期二

[C#] 取得有效位數 ex.0.0001234 => 0.000123

如取得有效三位數
ex. 12345 => 12300
ex. 1.2345 => 1.23
ex. 0.0001234 => 0.000123

// 取得有效位數
       private static double RoundToSignificantDigits(double d, int digits)
       {
           if (d == 0.0)
           {
               return 0.0;
           }
           else
           {
               double leftSideNumbers = Math.Floor(Math.Log10(Math.Abs(d))) + 1;
               double scale = Math.Pow(10, leftSideNumbers);
               double result = scale * Math.Round(d / scale, digits, MidpointRounding.AwayFromZero);
 
               // Clean possible precision error.
               if ((int)leftSideNumbers >= digits)
               {
                   return Math.Round(result, 0, MidpointRounding.AwayFromZero);
               }
               else
               {
                   return Math.Round(result, digits - (int)leftSideNumbers, MidpointRounding.AwayFromZero);
               }
           }
       }

參考: https://stackoverflow.com/questions/374316/round-a-double-to-x-significant-figures

[加密] 記錄用 Gpg4Win

參考 : https://blog.timshan.idv.tw/2013/09/howto-gpg4win.html

2019年4月25日 星期四

[SQL] [Error] 資料表的識別欄位其外顯值只有當使用了資料行清單且 IDENTITY_INSERT 為 ON 時才能指定。

SQL 要更新trigger 內容時

出現以下內容 :

資料表的識別欄位其外顯值只有當使用了資料行清單且 IDENTITY_INSERT 為 ON 時才能指定。

這次的原因原來是 insert 時, 想要去改動 又自動增號的ID 才會這樣

解法:
1. 明確定義要insert 的欄位
2. 不明確定義欄位,就要把自動增號的值拿掉

2019年3月25日 星期一

[SQL] 新增insert data 時遇到內容有單引號

當遇到新增、更新資料時,資料內容的字串含有單引號時

ex. insert into data values('Client's info is incomplete',....)

請把字串內的 ' , 再多加一個引號變成 '' 就可以囉~







2019年3月20日 星期三

[MVC] 遇到cshtml 的 linq 無法順利解析 (出現紅色毛毛蟲)









有時cshtml頁面居然出現以上紅色毛毛蟲的現象

編譯正常也沒問題,但就是非常惱人,一鍵完成選單也無法使用

解法 :

在webconfig 內加入以下內容,然後編譯後再重新開啟cshtml即可正常囉

      <assemblies>
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>