TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Guest User
Tech Writer
82
7.3k
ajax c# html jquery
Aug 28 2019 4:45 AM
i have create program which is work for read excel file and print data into html table,
note:- i have use all control in html but web page is aspx because that is my requirement.
html and ajax code:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var reader = new FileReader();
$('input[type=file]').change(function () {
if (typeof (FileReader) != "undefined") {
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$/;
$($(this)[0].files).each(function () {
var file = $(this);
if (regex.test(file[0].name.toLowerCase())) {
reader.readAsDataURL(file[0]);
} else {
alert(file[0].name + " is not a valid Excel file.");
return false;
}
});
} else {
alert("This browser does not support HTML5 FileReader.");
}
});
$('#btnUpload').on("click", function () {
var byteData = reader.result;
byteData = byteData.split(';')[1].replace("base64,", "");
$.ajax({
type: "POST",
url: "Default.aspx/GetExcelData",
data: '{byteData: "' + byteData + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find(tableCreate());
var tbl;
function tableCreate() {
tbl = "<Table>";
for (var i = 0; i < byteData.length; i++) {
tbl += "<tr>";
for (var j = 0; j < byteData[i].length; j++) {
if (i == 0) {
tbl += "<th>" + byteData[i][j] + "</th>";
}
else {
tbl += "<td>" + byteData[i][j] + "</td>";
}
}
tbl += "</tr>";
}
tbl += "</Table>";
return tbl;
};
$("#div1").append(tableCreate());
$("tr:nth-child(odd)").css("background-color", "blanchedalmond");
},
error: function (response) {
alert(response.responseText);
}
});
return false;
});
});
</script>
<input type="file" id="fuUpload" runat="server" />
<input type="button" id="btnUpload" value="Upload" runat="server" />
<br />
<br />
<div id="div1"></div>
</form>
</body>
</html>
and c# code is here :
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string GetExcelData(string byteData)
{
byte[] bytes = Convert.FromBase64String(byteData);
string filePath = HttpContext.Current.Server.MapPath("~/Files/Test.xls");
if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/Files")))
{
Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/Files"));
}
// Save file in File folder.
File.WriteAllBytes(filePath, bytes);
string extension = Path.GetExtension(filePath);
string excelConnectionString = "";
switch (extension)
{
case ".xls": //Excel 97-03
excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";
break;
case ".xlsx": //Excel 07
excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
break;
}
excelConnectionString = String.Format(excelConnectionString, filePath);
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oleDA = new OleDbDataAdapter();
cmdExcel.Connection = excelConnection;
excelConnection.Open();
DataTable dtExcelSchema;
dtExcelSchema = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
excelConnection.Close();
excelConnection.Open();
cmdExcel.CommandText = "SELECT * From [" + SheetName + "]";
oleDA.SelectCommand = cmdExcel;
DataSet ds = new DataSet();
oleDA.Fill(ds);
excelConnection.Close();
// Delete saved file.
// Directory.Delete(HttpContext.Current.Server.MapPath("~/Files"), true);
return ds.GetXml();
}
}
My actual problem is it return in html form data but i want to in table form and another problem is
POST 500 (Internal Server Error)
Can anyone one help me?
Reply
Answers (
1
)
Abstract Class implements the methods of Interface
How do i resolve incorrect syntax error when parsing an XML