|
This is inform you that IE is no more user loved browser hence MS decided to shut down IE and any IE below IE 10 is obsolete. Hence spending time for IE8 is wasteful.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Humanity
|
|
|
|
|
It should be noted that this is based in ASP
|
|
|
|
|
You only need to see the script and put a button in your page to activate it or activate it after load the page, you don't need the ASP part at all
|
|
|
|
|
I am unable to export base64 images which are part of the table to excel with the mentioned code. Any idea how it can be done.
LoveEveryone
|
|
|
|
|
I will update you regarding this soon.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Humanity
|
|
|
|
|
this script works fine. Is there a way to specify a custom file name for the downloaded excel file?
|
|
|
|
|
Not really, What you can do is took some hidden table with column names you want and export that.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Humanity
|
|
|
|
|
For changing the filename you need to modify the code just a little bit:
You need to change the tableToExcel function, add just a new var, wbname and change the way you generate the link:
return function (table, name, wbname) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
var link = document.createElement("A");
link.href = uri + base64(format(template, ctx));
link.download = wbname || 'Workbook.xls';
link.target = '_blank';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
and now in the button you need to modify the call to the function:
<input type="button" onclick="tableToExcel('tableName', 'worksheetName', 'fileName')" value="Export to Excel"/>
And now you can rename the file as you wish.
|
|
|
|
|
Thanks @Yngrid Coello, will modify the code soon.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Humanity
|
|
|
|
|
Is there a way to modify the html file so when an user opens the file in excel all the columns would be set to a specific width?
|
|
|
|
|
This method just exports the html as excel.. So one way can be adjust the table td width. I am not sure but you can try it. Its just simple and quick export.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
Directly i paste the code in the page, getting "Unterminated String constant".
I tried by fixing with quotes, but nothing work out, please sent me script to export into excel.
One more thing, my page will generate the row data dynamically, so this script will export to excel?
|
|
|
|
|
yes dynamics scripts works fine...!! and can you please provide me code if you faces such error. Because caode is the patient in coding. So we can have beter treatment.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
Can any one let me know how can we change the name of the file that is being downloaded via this code?
|
|
|
|
|
For this specific code or anyone codeproject. You can rename once downloaded or while downloaded it must rename it as download(1) if already exists.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
For changing the filename you need to modify the code just a little bit:
You need to change the tableToExcel function, add just a new var, wbname and change the way you generate the link:
return function (table, name, wbname) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
var link = document.createElement("A");
link.href = uri + base64(format(template, ctx));
link.download = wbname || 'Workbook.xls';
link.target = '_blank';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
and now in the button you need to modify the call to the function:
<input type="button" onclick="tableToExcel('tableName', 'worksheetName', 'fileName')" value="Export to Excel">
And now you can rename the file as you wish.
|
|
|
|
|
Hi,
i have below code :
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
a {
text-decoration: none;
}
a:hover {
color: #FF8000;
font-weight: bold;
text-decoration: none;
}
table {
margin: 0;
border-collapse: collapse;
color: #222;
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
}
th {
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
color: #222;
font-weight: bold;
background-color: #F2F2F2;
border: 1px solid #cccccc;
margin: 0;
padding: 4px 10px 4px 5px;
text-align: left;
}
td {
color: #222;
font: 8pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
border: 1px solid #cccccc;
margin: 0;
/* padding: 6px 20px 1px 0; */
padding: 8px 20px 5px 5px;
}
td.userinput {
color: #222;
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-weight: bold;
border-bottom: 0px;
margin: 0;
padding: 6px 20px 1px 0;
}
td.errormsg {
color: red;
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-weight: bold;
border-bottom: 0px;
margin: 0;
padding: 6px 20px 1px 0;
}
td.msg {
color: #747170;
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
font-weight: bold;
border-bottom: 0px;
margin: 0;
padding: 6px 20px 1px 0;
}
h3 {
font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
background-color: #747170;
padding: 4px 4px 4px 4px;
color: white;
width: 100%;
}
</head>
<body>
")),
(if (exists Source ID of it)
then (Source ID of it as string)
else ("<none>")),
(if ((Name of it starts with "MS") AND (Name of it contains ":"))
then (preceding text of first ":" of (Name of it))
else ("NULL")),
(if (exists Source Severity of it)
then (Source Severity of it as string)
else ("<none>")),
(if (exists Name of it)
then (Name of it as string)
else ("<none>")))
of
bes fixlets
whose (
(display name of site of it = "Patches for Windows (English)") AND
(((Category of it as lowercase contains "critical updates") OR
(Category of it as lowercase contains "security update") OR
(Category of it as lowercase contains "definition updates") OR
(Category of it as lowercase contains "service pack") OR
(Category of it as lowercase contains "rollup")
OR
(Category of it as lowercase contains "update") OR
(Category of it as lowercase contains "security hotfix"))
OR
((Source Severity of it as lowercase contains "critical") OR
(Source Severity of it as lowercase contains "important") OR
(Source Severity of it as lowercase contains "moderate") OR
(Source Severity of it as lowercase contains "unspecified"))
AND
((Name of it as lowercase does not contain "sql")
OR
(Name of it as lowercase does not contain "office")
OR
(Name of it as lowercase does not contain "visual studio")
OR
(Name of it as lowercase does not contain "excel")
OR
(Name of it as lowercase does not contain "visio"))
AND
(Applicable Computer Count of it > 0)))
?>
Computer Name | KB-Article | Bulletin | Severity | Update Title |
---|
<script type="text/javascript">
addEvent(window, "load", init_load);
function init_load()
{
stripe('resultsTable', '#fff', '#E6E3E8');
// #E6E3E8, original edf3fe'
sortables_init();
}
var SORT_COLUMN_INDEX;
function sortables_init(){
// Find all tables with class sortable and make them sortable
if (!document.getElementsByTagName)
return;
tbls = document.getElementsByTagName("table");
for (ti = 0; ti < tbls.length; ti++) {
thisTbl = tbls[ti];
if (((' ' + thisTbl.className + ' ').indexOf("sortable") != -1) && (thisTbl.id)) {
//initTable(thisTbl.id);
ts_makeSortable(thisTbl);
}
}
}
function ts_makeSortable(table){
if (table.rows && table.rows.length > 0) {
var firstRow = table.rows[0];
}
if (!firstRow)
return;
function ts_getInnerText(el){
if (typeof el == "string")
return el;
if (typeof el == "undefined") {
return el
};
if (el.innerText)
return el.innerText; //Not needed but it is faster
var str = "";
var cs = el.childNodes;
var l = cs.length;
for (var i = 0; i < l; i++) {
switch (cs[i].nodeType) {
case 1: //ELEMENT_NODE
str += ts_getInnerText(cs[i]);
break;
case 3: //TEXT_NODE
str += cs[i].nodeValue;
break;
}
}
return str;
}
function ts_resortTable(lnk, clid){
// get the span
var span;
for (var ci = 0; ci < lnk.childNodes.length; ci++) {
if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span')
span = lnk.childNodes[ci];
}
var spantext = ts_getInnerText(span);
var td = lnk.parentNode;
var column = clid || td.cellIndex;
var table = getParent(td, 'TABLE');
// Work out a type for the column
if (table.rows.length <= 1)
return;
var itm = ts_getInnerText(table.rows[1].cells[column]);
sortfn = ts_sort_caseinsensitive;
if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/))
sortfn = ts_sort_date;
if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d$/))
sortfn = ts_sort_date;
if (itm.match(/^[ $]/))
sortfn = ts_sort_currency;
if (itm.match(/^[\d\.]+$/))
sortfn = ts_sort_numeric;
SORT_COLUMN_INDEX = column;
var firstRow = new Array();
var newRows = new Array();
for (i = 0; i < table.rows[0].length; i++) {
firstRow[i] = table.rows[0][i];
}
for (j = 1; j < table.rows.length; j++) {
newRows[j - 1] = table.rows[j];
}
newRows.sort(sortfn);
if (span.getAttribute("sortdir") == 'down') {
ARROW = ' ';
newRows.reverse();
span.setAttribute('sortdir', 'up');
}
else {
ARROW = ' ';
span.setAttribute('sortdir', 'down');
}
// We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
// don't do sortbottom rows
for (i = 0; i < newRows.length; i++) {
if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1))) {
table.tBodies[0].appendChild(newRows[i]);
if (i % 2 > 0)
newRows[i].className = 'wr_oddRow';
else
newRows[i].className = 'wr_evenRow';
}
}
// do sortbottom rows only
for (i = 0; i < newRows.length; i++) {
if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1))
table.tBodies[0].appendChild(newRows[i]);
}
// Delete any other arrows there may be showing
var allspans = document.getElementsByTagName("span");
for (var ci = 0; ci < allspans.length; ci++) {
if (allspans[ci].className == 'sortarrow') {
if (getParent(allspans[ci], "table") == getParent(lnk, "table")) { // in the same table as us?
allspans[ci].innerHTML = ' ';
}
}
}
// adds up/down arrow to the column header
span.innerHTML = ARROW;
// Make zebra stripes in table
stripe('resultsTable', '#fff', '#E6E3E8');
}
function getParent(el, pTagName){
if (el == null)
return null;
else
if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase
return el;
else
return getParent(el.parentNode, pTagName);
}
function ts_sort_date(a, b){
// y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
if (aa.length == 10) {
dt1 = aa.substr(6, 4) + aa.substr(3, 2) + aa.substr(0, 2);
}
else {
yr = aa.substr(6, 2);
if (parseInt(yr) < 50) {
yr = '20' + yr;
}
else {
yr = '19' + yr;
}
dt1 = yr + aa.substr(3, 2) + aa.substr(0, 2);
}
if (bb.length == 10) {
dt2 = bb.substr(6, 4) + bb.substr(3, 2) + bb.substr(0, 2);
}
else {
yr = bb.substr(6, 2);
if (parseInt(yr) < 50) {
yr = '20' + yr;
}
else {
yr = '19' + yr;
}
dt2 = yr + bb.substr(3, 2) + bb.substr(0, 2);
}
if (dt1 == dt2)
return 0;
if (dt1 < dt2)
return -1;
return 1;
}
function ts_sort_currency(a, b){
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g, '');
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g, '');
return parseFloat(aa) - parseFloat(bb);
}
function ts_sort_numeric(a, b){
aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
if (isNaN(aa))
aa = 0;
bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
if (isNaN(bb))
bb = 0;
return aa - bb;
}
function ts_sort_caseinsensitive(a, b){
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
if (aa == bb)
return 0;
if (aa < bb)
return -1;
return 1;
}
function ts_sort_default(a, b){
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
if (aa == bb)
return 0;
if (aa < bb)
return -1;
return 1;
}
function addEvent(elm, evType, fn, useCapture)// addEvent and removeEvent
// cross-browser event handling for IE5+, NS6 and Mozilla
// By Scott Andrew
{
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
}
else
if (elm.attachEvent) {
var r = elm.attachEvent("on" + evType, fn);
return r;
}
else {
alert("Handler could not be removed");
}
}
// this function is needed to work around
// a bug in IE related to element attributes
function hasClass(obj) {
var result = false;
if (obj.getAttributeNode("class") != null) {
result = obj.getAttributeNode("class").value;
}
return result;
}
function stripe(id) {
// the flag we'll use to keep track of
// whether the current row is odd or even
var even = false;
// if arguments are provided to specify the colours
// of the even & odd rows, then use the them;
// otherwise use the following defaults:
var evenColor = arguments[1] ? arguments[1] : "#fff";
var oddColor = arguments[2] ? arguments[2] : "#eee";
// obtain a reference to the desired table
// if no such table exists, abort
var table = document.getElementById(id);
if (! table) { return; }
// by definition, tables can have more than one tbody
// element, so we'll have to get the list of child
// s
var tbodies = table.getElementsByTagName("tbody");
// and iterate through them...
for (var h = 0; h < tbodies.length; h++) {
// find all the elements...
var trs = tbodies[h].getElementsByTagName("tr");
// ... and iterate through them
for (var i = 0; i < trs.length; i++) {
// get all the cells in this row...
var tds = trs[i].getElementsByTagName("td");
// and iterate through them...
for (var j = 0; j < tds.length; j++) {
var mytd = tds[j];
mytd.style.backgroundColor =
even ? evenColor : oddColor;
}
// flip from odd to even, or vice-versa
even = ! even;
}
}
}
</script>
</body>
</html>
-------------------
can you please let me know how can i add export to excel in this code... i have followed your steps but it simply not exporting any data to excel.
Could you please let me know where i need to chaneg the code ,Kindly advise.
|
|
|
|
|
Can you please format you data well... or what you can do is just provide me the html data you want to export. I'll make it working for you.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
Hi It is not working in IE 10 also
|
|
|
|
|
I have tested ExportToExcel.htm provide in source code in IE11. It's not working. Kindly guide how to make it work in IE11 and older version of IE (downto IE8)
|
|
|
|
|
working on this.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
Was this fixed?..do u have a working code on IE
|
|
|
|
|
This is a bug in IE as it consider it as the security issue. SO Under the consideration to get some alternative.
Thanks & Regards
Puneet Goel
Save Paper >> Save Tree >> Save Huminity
|
|
|
|
|
Haven't you got a working example for IE yet?
|
|
|
|