C# - Numbers Are Converted As Text When Export Dataset To Excel

Jul 8, 2010

Iam exporting dataset to excel , the numbers on the sheet shown as text when export it to excel. Here is the code:

public class Excel
{
const int rowLimit = 65000;
private static string getWorkbookTemplate()
{
StringBuilder sb = new StringBuilder(818);
sb.AppendFormat(@"<?xml version=""1.0""?>{0}", Environment.NewLine);
sb.AppendFormat(@"<?mso-application progid=""Excel.Sheet""?>{0}", Environment.NewLine);
sb.AppendFormat(@"<Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet""{0}", Environment.NewLine);
sb.AppendFormat(@" xmlns:o=""urn:schemas-microsoft-com:office:office""{0}", Environment.NewLine);
sb.AppendFormat(@" xmlns:x=""urn:schemas-microsoft-com:office:excel""{0}", Environment.NewLine);
sb.AppendFormat(@" xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet""{0}", Environment.NewLine);
sb.AppendFormat(@" xmlns:html=""[URL]
sb.AppendFormat(@" <Styles>{0}", Environment.NewLine);
sb.AppendFormat(@" <Style ss:ID=""Default"" ss:Name=""Normal"">{0}", Environment.NewLine);
sb.AppendFormat(@" <Alignment ss:Vertical=""Bottom""/>{0}", Environment.NewLine);
sb.AppendFormat(@" <Borders/>{0}", Environment.NewLine);
sb.AppendFormat(@" <Font ss:FontName=""Verdana"" x:Family=""Swiss"" ss:Size=""12"" ss:Color=""#0000A0""/>{0}", Environment.NewLine);
sb.AppendFormat(@" <Interior/>{0}", Environment.NewLine);
sb.AppendFormat(@" <NumberFormat/>{0}", Environment.NewLine);
sb.AppendFormat(@" <Protection/>{0}", Environment.NewLine);
sb.AppendFormat(@" </Style>{0}", Environment.NewLine);
sb.AppendFormat(@" <Style ss:ID=""s62"">{0}", Environment.NewLine);
sb.AppendFormat(@" <Font ss:FontName=""Calibri"" x:Family=""Swiss"" ss:Size=""11"" ss:Color=""#000000""{0}", Environment.NewLine);
sb.AppendFormat(@" ss:Bold=""1""/>{0}", Environment.NewLine);
sb.AppendFormat(@" </Style>{0}", Environment.NewLine);
sb.AppendFormat(@" <Style ss:ID=""s63"">{0}", Environment.NewLine);
sb.AppendFormat(@" <NumberFormat ss:Format=""Short Date""/>{0}", Environment.NewLine);
sb.AppendFormat(@" </Style>{0}", Environment.NewLine);
sb.AppendFormat(@" </Styles>{0}", Environment.NewLine);
sb.Append(@"{0}
</Workbook>");
return sb.ToString();
}
private static string replaceXmlChar(string input)
{
input = input.Replace("&", "&");
input = input.Replace("<", "<");
input = input.Replace(">", ">");
input = input.Replace(""", """);
input = input.Replace("'", "&apos;");
return input;
}
private static string getCell(Type type, object cellData)
{
Object data = (cellData is DBNull) ? "" : cellData;
if (type.Name.Contains("Int") || type.Name.Contains("Double") || type.Name.Contains("Decimal")) return string.Format("<Cell><Data ss:Type="Number">{0}</Data></Cell>", data);
if (type.Name.Contains("Date") && data.ToString() != string.Empty)
{
return string.Format("<Cell ss:StyleID="s63"><Data ss:Type="DateTime">{0}</Data></Cell>", Convert.ToDateTime(data).ToString("yyyy-MM-dd"));
}
return string.Format("<Cell><Data ss:Type="String">{0}</Data></Cell>", replaceXmlChar(data.ToString()));
}
private static string getWorksheets(DataSet source)
{
StringWriter sw = new StringWriter();
if (source == null || source.Tables.Count == 0)
{
sw.Write("<Worksheet ss:Name="Sheet1">
<Table>
<Row><Cell><Data ss:Type="String"></Data></Cell></Row>
</Table>
</Worksheet>");
return sw.ToString();
}
foreach (DataTable dt in source.Tables)
{
if (dt.Rows.Count == 0)
sw.Write("<Worksheet ss:Name="" + replaceXmlChar(dt.TableName) + "">
<Table>
<Row><Cell ss:StyleID="s62"><Data ss:Type="String"></Data></Cell></Row>
</Table>
</Worksheet>");
else
{
//write each row data
int sheetCount = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
if ((i % rowLimit) == 0)
{
//add close tags for previous sheet of the same data table
if ((i / rowLimit) > sheetCount)
{
sw.Write("
</Table>
</Worksheet>");
sheetCount = (i / rowLimit);
}
sw.Write("
<Worksheet ss:Name="" + replaceXmlChar(dt.TableName) +
(((i / rowLimit) == 0) ? "" : Convert.ToString(i / rowLimit)) + "">
<Table>");
//write column name row
sw.Write("
<Row>");
foreach (DataColumn dc in dt.Columns)
sw.Write(string.Format("<Cell ss:StyleID="s62"><Data ss:Type="String">{0}</Data></Cell>", replaceXmlChar(dc.ColumnName)));
sw.Write("</Row>");
}
sw.Write("
<Row>");
foreach (DataColumn dc in dt.Columns)
sw.Write(getCell(dc.DataType, dt.Rows[i][dc.ColumnName]));
sw.Write("</Row>");
}
sw.Write("
</Table>
</Worksheet>");
}
}
return sw.ToString();
}
public static string GetExcelXml(DataTable dtInput, string filename)
{
string excelTemplate = getWorkbookTemplate();
DataSet ds = new DataSet();
ds.Tables.Add(dtInput.Copy());
string worksheets = getWorksheets(ds);
string excelXml = string.Format(excelTemplate, worksheets);
return excelXml;
}
public static string GetExcelXml(DataSet dsInput, string filename)
{
string excelTemplate = getWorkbookTemplate();
string worksheets = getWorksheets(dsInput);
string excelXml = string.Format(excelTemplate, worksheets);
return excelXml;
}
public static void ToExcel(DataSet dsInput, string filename, HttpResponse response)
{
string excelXml = GetExcelXml(dsInput, filename);
response.Clear();
response.AppendHeader("Content-Type", "application/vnd.ms-excel");
response.AppendHeader("Content-disposition", "attachment; filename=" + filename);
response.Write(excelXml);
response.Flush();
response.End();
}
public static void ToExcel(DataTable dtInput, string filename, HttpResponse response)
{
DataSet ds = new DataSet();
ds.Tables.Add(dtInput.Copy());
ToExcel(ds, filename, response);
}
}

View 1 Replies


Similar Messages:

Controls :: Disable AutoFilter Option And Formatting Numbers To Text When Export Excel Using OpenXml?

Dec 23, 2015

I was using this UR [URL] for exporting the data to excel. Can I do the following two things while exporting:

1) I want to remove the autofilter options, which are displaying now when you open the excel workbook soon after exporting finishes.

2) Some of the columns which are numerics, are formatted to text by default, and it is displaying a small green rectangular icon at the left top corner of each cell which is very disturbing while viewing the sheet.

Is it possible to fix both the above options.

View 1 Replies

C# - EXPORT Dataset To EXCEL

Feb 12, 2011

I am using the following code to export fields from a database table into excel. What I want to do is be able to write a SQL statement to retrieve fields from multiple tables and export them into excel. This code only allows me to export one table. Also, how can I display a save prompt dialog?

protected void export_Click(object sender, EventArgs e)
{
string sql = null;
string data = null;
string path = save_as.Text;
int i = 0;
int j = 0;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//connectionString = "data source=servername;initial catalog=databasename;user id=username;password=password;";
SqlConnection cnn = new SqlConnection(GetConnectionString());
cnn.Open();
sql = "SELECT Story, CreationDate FROM Story";
SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
DataSet ds = new DataSet();
dscmd.Fill(ds);
for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 1, j + 1] = data;
}
}
xlWorkBook.SaveAs(path+".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
//MessageBox.Show("Excel file created , you can find the file c:\csharp.net-informations.xls");
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
//MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
}
finally
{
GC.Collect();
}
}

View 2 Replies

Export Excel File From Dataset In C#?

May 29, 2010

i have data in sql server i want to export to data with asp.net C#

View 3 Replies

Web Forms :: Export A Big Dataset To Excel Via Web?

Feb 24, 2010

Actually I have a SQL query that a user exports to excel in our web server. I did it in c# with Visual Studio 2003 (.Net v1.1): I get the data from a SQL server into a Dataset, then with this method I create the XLS file:

private void ExportAsExcelFile ( DataSet dtExport )
{
Response.Clear() ;
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.UTF8 ;
Response.Charset = string.Empty ;
Response.AddHeader ( "Content-Disposition", "attachment;filename=data.xls" ) ;
System.IO.StringWriter objStringWriter = new StringWriter () ;
System.Web.UI.HtmlTextWriter objHtmlTextWriter = new System.Web.UI.HtmlTextWriter(objStringWriter) ;
DataGrid objDatagrid = new DataGrid () ;
objDatagrid.DataSource = dtExport ;
objDatagrid.DataBind () ;
objDatagrid.RenderControl ( objHtmlTextWriter ) ;
Response.Write (objStringWriter.ToString()) ;
Response.End () ;
}

Well, this works when the SQL query has 10.000 rows and so on. But now the query has more than 200.000 rows, and Im getting a TimeOut Error trying to export the data. I read about generate this big files with a Store Procedure and the SQL Commad: BCP [URL], but I tryed and it fails. I have no permissions to execute this command. Is there any other way to export this SQL data to Excel via a ASPX page?

View 1 Replies

VS 2005 - Export Dataset To Excel

Sep 9, 2011

I have a dataset wity multiple table, the same dataset need to export to excel

dataset.table[0] data
dataset.table[1] data in the same excel sheet

View 1 Replies

VS 2008 - Export Dataset To Excel Attachment

Jul 12, 2012

I need to give users of my asp.net/vb.net web application the ability to click a button which will then send them an e-mail with the contents of a SQL query attached as an Excel e-mail attachment.

I can manage all of this apart from getting the contents of a VB dataset object into an Excel file on my server.

I know how to export a gridview to Excel at the client end, but my boss has been adamant that he wants the button to send an e-mail with the results attached - I have no need to display a gridview at all.

How to export the contents of a datareader or dataset directly into an Excel file at the server side?

View 12 Replies

Generated Excel Spreadsheet: Numbers Received As Text?

Jan 5, 2011

I am generating, using a ASP routine, Visual Basic, a HTML table in a file to be read by MS Excel.

After Excel reads the file, some of the numbers (in some cells) are shown as "text", not numbers: they cannot be operated upon, like decimal numbers. (added, subtracted...)

If I click in a "number" stored as "text" cell, I can "edit" the cell and remove an invisible "apostrofe" to the left of the number; after that, the "text" becomes "number" again.

Seems like Excel is inserting a non-visible character before the number, so that it is stored as "text"

It happens to some lines and not to others...

View 1 Replies

Web Forms :: Export The Dataset Values Into Excel In Application

Mar 9, 2011

I am trying to Export the dataset values into Excel in my application, its working for first time. Again if i click the export button [second time] the button does't cause postback and the entire page is not postback.

View 4 Replies

Export DataSet To Multiple Excel Sheets And Download Into A Zip File Using C#?

Jan 21, 2011

how to Export DataSet to Multiple Excel Sheets and download those file into a zip in C# asp.net?

View 2 Replies

Data Controls :: GridView Export To Excel - Round Decimal Numbers To Two Decimal Places

May 7, 2015

I was read your post: "Export GridView to Excel in ASP.Net with Formatting using C#" and is very useful. That code works perfect. But I need create a new format for a specific column in my sheet before to export it. For example:My DataTable have a column with decimal numbers and I'm trying reduce the tenths for each number.I want this: 2,874444 ----> 2,87 for a specific range. In this case I need it for all numbers in the column 13 or well said for the Column called N in Excel. Only reduce two tenths.

I used:

xlWorkSheet.Range["N"+h,"N"+h].NumberFormat = "0.00";

And no works (h is for rows, N is the column. Into a foreach).

View 1 Replies

How To Export A Dataset To Excel And Raise A File Download Dialog From Webmethod

Aug 6, 2010

I am using the following code to export a datset to excel sheet.

[Code]....

Problem is that its not raising file download and hence no export is taking place.The same code works fine in a normal method.But with the webmethod its not working.

View 3 Replies

DataSource Controls :: How To Export The Current DataSet Bound To A Gridview To Excel

Mar 12, 2011

I have a GridView populated by an ObjectDataSource. I also have several DropDownLists filtering the ObjectDataSource. I found a link providing a way to export a DataSet (or DataTable) to Excel here:

http://msmvps.com/blogs/deborahk/archive/2009/07/23/writing-data-from-a-datatable-to-excel.aspx

ow I can ensure that filters applied to the ObjectDataSource when the method is called are applied. In short, how can I ensure what the UI is displaying is what the file will include when exported?

View 2 Replies

Forms Data Controls :: Export Multiple Grids And Dataset To Excel Sheet

Feb 9, 2010

In a page im having multiple data grids with some data tables.How can i export all these to excel sheet without any change in the alignment.

View 6 Replies

Forms Data Controls :: How To Export Dataset To Excel When Click Gridview Linkbutton

Jun 28, 2010

I want to Export dataset data to excel ,when i click gridview linkbutton.

My Scenior is : Actually i am Passing a parameter from griview linkbutton.Depending on the parameter value .I want to export dataset data to excel.

View 7 Replies

Configuration :: Float Numbers Are Converted To Integer After Website Publishing

Nov 20, 2010

In one of webforms user must enter the percent of tax and then I convert it to the float number and finally save it into database. here is a sample:

Dim txtMyPercent
txtMyPercent=Convert.ToSingle(txtPercent.text)
label.text=txtMyPercent
insert into(txtmypercent)

This peice of code, works perefect while runs via Visual Studio 2010, however after publishing, numbers are converted to integer. Thus it can't be inserted into Sql server database .... Server OS: Windows 2003 x64 IIS: 6 .Net Framework: 4.0

View 2 Replies

Crystal Reports :: Export Dataset To Excel From Crystal Report

Dec 17, 2010

I want to export dataset to Excel. I did the following ways:

1) bind a dataset to a crystal report,
2) export crystal report to Excel Can it be done without displaying crystal report and only Excel file? Or, I have to find out a way export to Excel directly from dataset?

View 1 Replies

When Export Grid View Export In Excel It That String Shows In Single Line?

Jul 24, 2010

i have in grid view that grid view have very long string. when i export grid view export in excel it that string shows in single line

View 1 Replies

Web Forms :: Export To Excel Function Errors When Trying To Render The Grid For The Export?

Apr 27, 2010

I have a web form that contains a GridView, which impliments Search in Grid with a TextBox and Button control in the footer. This works as I have it now. I have also implimented a Export to Excel function. The Export to Excel works by itself if the Search in Grid function is not included in the footer.The Export to Excel function errors when trying to render the Grid for the export. Is there a better way to incorporate both functions and accomplish the same thing? Am I missing something simple?

[Code]...

View 21 Replies

ADO.NET :: Count The Numbers Of Rows In Dataset?

Aug 26, 2010

which part when wrong if my code is wrong ? I'm using VS2010 have a dataset. Here is my code. [Code]....

View 4 Replies

VS 2008 - Uploading Excel Data To Dataset, Then DataSet To SQL Server?

Jan 18, 2010

What I am thinking is this? Is it possible for me to upload the data from an excel file to dataset of my application first, so that the user can view the data in a gridview to review it first, before the user strike the save button, to save it in the database. So, that in case there is a problem, the gridview will high light all the data with an error. So the user can easily pull out the excel and correct the data before saving it in the database.

View 4 Replies

Localization :: Arabic Numbers Display Options When Export To PDF?

Feb 7, 2010

I'm working in an ASP.net web application. I'm trying to export a crystal report file (.rpt file) to pdf viewerthe following code:

rystalDecisions.CrystalReports.Engine.ReportDocument doc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
doc.Load("C:\Users\amino\Documents\Visual Studio 2005\WebSites\WebSite1\Report.rpt");
CrystalReportViewer1.ReportSource = doc;
[code]...

View 3 Replies

Forms Data Controls :: Gridview - Export To Excel And Formatting Excel From Right To Left

Jun 10, 2010

How can I export data from a Gridview to excel and once exported the data should be formatted in right to left (arabic) manner. How can I achieve this?

View 2 Replies

Visual Studio :: Exporting A .rdlc To Excel / Analagous Export Of That Report To Excel?

Nov 2, 2010

I've got an .rdlc report which I print from my .net app (C# Visual Studio 2005), where I use a RemoteReportPrinter object. I give it as parameters the server name, report name, report parameters, etc. Works fine. My question is, I would live to do an analagous export of that report to Excel. Set it up exactly the same, but have it export to Excel rather than print, probably using some other type of object than RemoteReportPrinter.

View 1 Replies

Data Controls :: Export GridView To Excel And Save Excel File To Folder?

Apr 6, 2014

i use this code to export data into word.

Protected Sub Export(sender As Object, e As EventArgs) Handles btn_printexcel.Click
Response.Clear()
Response.Buffer = True

[Code]....

but the export docs will be downloaded into the user computer.

what should i do so that the exported docs is save into the server?

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved