ADO.NET :: Number Truncation With Exponential Numbers From Excel
Mar 21, 2011
I have a excel xlsx workbook that needs to be loaded into various SQL tables after the file's data has gone though various business logic checks. There can be multiple excel files as input to the program so i'm using the standard connection string and a data adapter to append the entire sheet into a DataTable so all the data can be checked at the same time. The code below works for this (sort of).
excelCon = new OleexcelCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strFileName + ";Extended Properties="Excel 12.0;HDR=No;IMEX=1";");
excelCon.Open();
strExcelSheetNames = GetSheetNames(excelCon);
for (int x = 0; x < strExcelSheetNames.Length; x++)
{
excelCmd.CommandText = "SELECT * FROM [" + strExcelSheetNames[x] + "]";
excelCmd.CommandType = CommandType.Text;
excelCmd.Connection = excelCon;
excelAdapter = new OleDbDataAdapter(excelCmd);
excelAdapter.Fill(dtExcelConvert);
}
I'm having an issue with the number columns however, if the number in the xlsx file is 612561120001 and it's displayed as 6.12561E+11 when i read it from the data table and convert it to a number it appears as 612561120000. I have tried to convert the file to a csv file and read it in but they're comma's in a lot of the fields which cause issues when splitting the data.
View 2 Replies
Similar Messages:
Jan 6, 2010
In my ASP.NET application, I need to write DataTable as CSV response to the customer. Everything is working fine except a column which has a numbers.
Ex: 7002136138603600000
But when I open the CSV in Excel, it is showing in exponential format.
Something like this: 7E+18
what i needs to be done in order to show these values as test instead in exponential format?
View 4 Replies
May 7, 2015
How to validate textbox to enter oly numbers for mobile no?
View 1 Replies
Aug 6, 2010
I am trying to create double and number format cells in excel using NPOI library. I used code like
Dim cell As HSSFCell = row.CreateCell(j)
cell.SetCellValue(Double.Parse(dr(col).ToString))
In excel numbers are aligning right but when I check format it is showing in "General"
then I changed my code to like below
Dim cell As HSSFCell = row.CreateCell(j)
cell.SetCellValue(Double.Parse(dr(col).ToString))
Dim cellStyle As HSSFCellStyle = hssfworkbook.CreateCellStyle
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("#,#0.0")
cell.CellStyle = cellStyle
Then While opening file it is giving error and also taking so long to open. But Excel format showing in "Number" error showing is like below.
View 2 Replies
Nov 9, 2010
I have an upload control on a page. I was getting the error about truncation, so i put in a new label (Label5) to get the file name. now i get the error: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. I basically want a file uploaded to the /Images folder, it to be resized to be about 300px high by 250px wide, (and much lower kbs). Then the picstosort table be filled in with the images url and the email address which was entered at the same time. Also, the larger image id like to not be stored, so as to not clogg up my web space.. I have code below which has problems, but i dont think is too far off? This is the code i have at the moment:
protected void Button1_Click(object sender, EventArgs e)
{
if (IsPostBack)
{
HandleUploadedFile();
}
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection(connectionString);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT INTO picstosort (imageurl, useraddy) VALUES (@imageurl, @useraddy)";
cmd.Parameters.AddWithValue("@imageurl", Label5.Text);
cmd.Parameters.AddWithValue("@useraddy", TextBox1.Text);
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
if (TextBox1.Text != null)
{
string strTo = TextBox1.Text;
string strFrom = "noreply@test.com";
string strSubject = "Picture Uploaded";
SmtpMail.Send(strFrom, strTo, strSubject,
"Thank you for uploading a picture.");
}
}
private void HandleUploadedFile()
{
string root = Server.MapPath("~/");
if (!root.EndsWith(@""))
root +=@"";
string fileDirectory = root + @"Images";
string link = "<a href='Images/{0}' target='_blank'>{1}</a>{2}{3}";
for (int i = 0; i<Request.Files.Count; i++)
{
HttpPostedFile fi = Request.Files.Get(i);
byte[] fileBytes = new byte [fi.ContentLength];
using (System.IO.Stream stream = fi.InputStream)
{
stream.Read(fileBytes, 0, fi.ContentLength);
}
string fileName = Guid.NewGuid().ToString();
File.WriteAllBytes(fileDirectory + fileName + ".jpg", fileBytes);
litText.Text += string.Format(link,fileName + ".jpg",
fileName + " Original", "<br/>", "");
File.WriteAllBytes(fileDirectory + fileName + "_small.jpg",
ResizeImageFile(fileBytes, 10000));
litText.Text += string.Format(link, fileName + "_small.jpg",
fileName + " Small", "<br/>", "<br/>");
litText.Visible = true;
Label5.Text = string.Format(link, fileName + "_small.jpg");
fileBytes = null;
}}
private static byte[] ResizeImageFile(byte[] imageFile, int targetSize)
{
using (System.Drawing.Image oldImage = System.Drawing.Image.FromStream(new MemoryStream(imageFile)))
{
Size newSize = CalculateDimensions(oldImage.Size, targetSize);
using (Bitmap newImage = new Bitmap(newSize.Width, newSize.Height, PixelFormat.Format24bppRgb))
{
using(Graphics canvas = Graphics.FromImage(newImage))
{
canvas.SmoothingMode = SmoothingMode.AntiAlias;
canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
canvas.DrawImage(oldImage,
new Rectangle(new Point(0, 0), newSize));
MemoryStream m = new MemoryStream();
newImage.Save(m, ImageFormat.Jpeg);
return m.GetBuffer();
}}}}
private static Size CalculateDimensions(Size oldSize, int targetSize)
{
Size newSize = new Size();
if (oldSize.Height > oldSize.Width)
{
newSize.Width = (int)(oldSize.Width * ((float)targetSize / (float)oldSize.Height));
newSize.Height = targetSize;
}
else{
newSize.Width = targetSize;
newSize.Height =
(int)(oldSize.Height * ((float)targetSize / (float)oldSize.Width));
}
return newSize;
}
}
View 2 Replies
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
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("'", "'");
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
Sep 25, 2010
i am trying to upload an excel to an oracle data base (10g xe) the excel has arround 46000 rows.I am getting the following error when i do a insert
ORA-06550 string 1 line 1,
PLS-00123: program too large (Diana nodes
View 1 Replies
Nov 8, 2010
My web app is allowing the user to load a column of data from an Excel spreadsheet. For whatever reason, as it parses the data, fields that are just integers are coming up as System.DBNull. (Code in VB.NET but I work with C# as well, so feel free to post C# solutions)
[Code]....
dataRow(0) is System.DBNull when the Excel file has a number in Column A. Here's what the Excel looks like
Column A
100S200
WEIRD
ABCDEFG
123456
100S12791
119655902
100S12792
105E17530
123456 and 119655902 come through as DBNull
View 8 Replies
Feb 1, 2013
I my exporting data through dataset to excel. But one column say awb no having datatype nvarchar contains long int no say : 123456789012345.
Then instead of displaying this no in numeric format(123456789012345) it is displaying in exponent form(1.23457E+19).
Is there any way to stop this i want data in numeric format (like this 123456789012345).
View 1 Replies
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
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
Feb 15, 2011
I would like to to make a UI with a panel of numbers, and when hovered above one of them ten the number becomes larger. something like that:
[URL]
I want that when I press a numbers it shows it's value in some other textbox. In which .NET technology is it possible to do it? Windows Forms? WPF? other?
View 6 Replies
Oct 26, 2010
I have a report which is created using a .rdlc. And populated using a List object. The report when exported to excel has a problem. The numeric colums show up as text and the tooltip in excel says "The number in this cell is formatted as text or preceded by an apostrophe". How can I get the number to show up as numeric?
View 1 Replies
Mar 16, 2011
I have a page within our site that allows admin users the ability to upload configuration settings into the system instead of submitting 1 at a time.
While testing yesterday, i found that one of the upload pages allowed me to upload a excel file that had alot more columns than expected and when i checked the database, the first few columns that were expected took the values from the file, and everything else was ignored, but wanted to see if there is any way to check the number of columns in the file to make sure it matches the upload logic before accepting it.
View 5 Replies
Mar 8, 2010
I'm creating an excel file using ASP.net and everything is going just fine except one column has to be formatted as a decimal to 2 places but when it pulls into excel, excel automatically formats it as a whole number instead of keeping the decimal places.
sw.Write(String.Format("{0:f}", CDbl(dr(14)).ToString("0.00"))) this produces "20.00"
but when I open it in excel it's displayed as 20...if I select the whole column and format it as a number it gets displayed as 20.00 like it's supposed to but I don't want to have to do this (I can't do that) the file is supposed to be automatically picked up and imported into another system that needs the column to be a decimal.
View 5 Replies
Jun 9, 2010
I have a simple export to excel functionality in my application. Code is :
[Code]....
View 2 Replies
Jun 8, 2010
in my application i have to read from an excel files and check the value of every cell i'm using an OleDb connection to open it and reading but i have this issue if some of the cells in the excel sheet is having this warning when i try to read it returns DBNull ??could any one give me a clue ....knowing that i can not force the user for not having this warning ...i have to solve this within my code .
View 5 Replies
Aug 30, 2010
I have sms portal for send sms.part of this prtal send sms from excel file contian mobile number.
my portal was share hosting.Now i buy VPS server but send from excel not work.
Will my server needs addons from office family.
Note:I use OLEDB connection for connect to excel file
View 1 Replies
May 7, 2015
string attachment = "attachment; filename=Report.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
The above code exports gridview1 data to excel, but the requirement is export data with row no as first column in Excel. I tried to add row number in dataset that binding to gridview, when we sort data in gridview, row number are not in correct order.
View 1 Replies
Feb 2, 2010
I am using the asp.net and framework 2.0 with Ajax enable web.i have a text box and when user will enter "a" or number in this will search the name started from "a" character or number if he or she enter the number basically we can say live-search.
Employee search: Textbox.In this text box she/he will enter the first character of name or first number of employeeno and according to the a character name will search in list.
View 1 Replies
May 4, 2010
I'm serving up PDFs from a SQL db and presenting them in the browser. I'm trying to figure out a way to embed a number in the PDF dynamically so that the recordID for that PDFs SQL record is available to me when the user submits the XML form data. The user hits the submit button on the form and the form submits its XML data to my submission page. If there is some way of changing the submission URL on the fly then I could do a query string to pass my self the recordID. I'm not generating the PDF in code, its being created by hand and then uploaded to my site.EditUser is given a link someServer.com/pdfLink.aspx?formID=5 they go there and that pages pulls a PDF from the DB and displays it. This pulls up acrobat in browser full size so my aspx page isn't in control of submitting the completed form, Acrobat is. The user fills out the form and hits the submit button in the form. This submit button was set up at form design time to point to another page someSite.com/pdfSubmit.aspx The submit button posts the XML data to that page and I can process it. I need the recordID in the query string for the someSite.com/pdfSubmit.aspx page. To do this I would need to modify the PDF to either add the recordID and query string to the submit button's submit URL, or embed it in the PDF else ware. The big question is how do I modify the PDF just before I display it via someServer.com/pdfLink.aspx?formID=5 to do either of these two options.
View 3 Replies
Apr 15, 2013
i want datalist to show only 6-8items ,as these datalist is connected to datasource which has more than 20 items..
like in facebook,we have lots of friends but in friend box only 6 friends is shown and when we click that we go to next page which display all list of friends...
View 1 Replies
Mar 10, 2011
I get this message when i go to update formview.
View 2 Replies
Sep 30, 2010
The following code gives error: "When casting from a number, the value must be a number less than infinity."
<asp:TemplateField HeaderText="DATE" SortExpression="date1">
<ItemTemplate>
<asp:Calendar ID="Calendar1" runat="server"
SelectedDate='<%# Bind("date1") %>' VisibleDate='<%# Eval("date1") %>'>
</asp:Calendar>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="Date1" runat="server" Text='<%# Bind("date1") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
The error occurs at the line <asp:Calendar ID="Calendar1"...>
It errors because there are records with null value for date1 when the records are returned from the database.
Is there a way to specify in the .aspx file telling it to ignore null or display null/blank?
View 2 Replies