The broad range of data types in SQL Server can sometimes throw people through a loop, especially when the data types seem to be highly interchangeable. Two in particular that constantly spark questions are VARCHAR and NVARCHAR: what's the difference between the two, and how important is the difference?
VARCHAR is an abbreviation for variable-length character string. It's a string of text characters that can be as large as the page size for the database table holding the column in question. The size for a table page is 8,196 bytes, and no one row in a table can be more than 8,060 characters. This in turn limits the maximum size of a VARCHAR to 8,000 bytes.
The "N" in NVARCHAR means uNicode. Essentially, NVARCHAR is nothing more than a VARCHAR that supports two-byte characters. The most common use for this sort of thing is to store character data that is a mixture of English and non-English symbols — in my case, English and Japanese.
The key difference between the two data types is how they're stored. VARCHAR is stored as regular 8-bit data. But NVARCHAR strings are stored in the database as UTF-16 — 16 bits or two bytes per character, all the time — and convert
Search This Blog
Thursday, September 23, 2010
Friday, September 17, 2010
Export to Excel with proper fomatting:
Hope from above example now one can easily export data from GridView. But an important concern is to setthe formatting to the target file. In this reagard mso-number-format ease our life. Lets we need todisplay date & time in the GridView but we wants short date format when exporting. To do the one can use mso-number-format in the following way. Modify your export button click event by the following code segment.
string datestyle = @"<style>.date { mso-number-format:'Short Date'; }</style>";
foreach(GridViewRow oItem in gvEdit.Rows)
oItem.Cells[4].Attributes.Add("class","date");
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=SupplierList.xls");
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter WriteItem = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlText = new HtmlTextWriter(WriteItem);
Response.Write(datestyle);
gvEdit.RenderControl(htmlText);
Response.Write(WriteItem.ToString());
Response.End();
-------------------------------------
List of some useful mso-number-format:
string datestyle = @"<style>.date { mso-number-format:'Short Date'; }</style>";
foreach(GridViewRow oItem in gvEdit.Rows)
oItem.Cells[4].Attributes.Add("class","date");
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=SupplierList.xls");
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter WriteItem = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlText = new HtmlTextWriter(WriteItem);
Response.Write(datestyle);
gvEdit.RenderControl(htmlText);
Response.Write(WriteItem.ToString());
Response.End();
-------------------------------------
List of some useful mso-number-format:
Format | Description |
mso-number-format:"0" | NO Decimals |
mso-number-format:"0\.000" | 3 Decimals |
mso-number-format:"\#\,\#\#0\.000 | Comma with 3 dec |
mso-number-format:"mm\/dd\/yy" | Date7 |
mso-number-format:"mmmm\ d\,\ yyyy" | Date9 |
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" | Date -Time AMPM |
mso-number-format:"Short Date" | 04/07/2008 |
mso-number-format:"Medium Date" | 04-Jun-08 |
mso-number-format:"d\-mmm\-yyyy" | 04-Jun-2008 |
mso-number-format:"Short Time" | 4:49 |
mso-number-format:"Medium Time" | 4:49 am |
mso-number-format:"Long Time" | 4:49:13:00 |
mso-number-format:"Percent" | Percent with two dec. |
mso-number-format:"0%" | Percent with no dec. |
mso-number-format:"0\.E+00" | Scientific Notation |
mso-number-format:"\@" | Text |
mso-number-format:"\#\ ???/???" | Fractions up to 3 digits |
mso-number-format:"\0022£\0022\#\,\#\#0\.00" | £10.52 |
mso-number-format:"0\.0000";font-weight:700; | 4 dec.+multiple format |
Note:
If you do not find your required format from above list then try creating a spreadsheet with a single cell entry according to your required format. Then from file menu select the 'Save as Web Page' option to create a html file. Read & examine the code for this and findout the mso-number-format from the style declarations.
Subscribe to:
Posts (Atom)