আমি কীভাবে ওয়েবপৃষ্ঠা থেকে এক্সলে টেবিলগুলি রফতানি করতে পারি। আমি চাই রফতানিতে সমস্ত বিন্যাস এবং রং থাকতে পারে।
<td style="background-color: ...
আমি কীভাবে ওয়েবপৃষ্ঠা থেকে এক্সলে টেবিলগুলি রফতানি করতে পারি। আমি চাই রফতানিতে সমস্ত বিন্যাস এবং রং থাকতে পারে।
<td style="background-color: ...
উত্তর:
টেবিলগুলি থেকে এক্সেলের কাছে পরিষ্কার এবং সহজ রফতানি হ'ল জ্যাকারি ডেটাবেবলস সারণী সরঞ্জাম প্লাগইন। আপনি একটি গ্রিড পাবেন যা আপনার ডেটা বাছাই করে, ফিল্টার করে, অর্ডার করে এবং পৃষ্ঠাগুলি দেয় এবং কোডের কয়েকটি অতিরিক্ত লাইন এবং দুটি ছোট ফাইল অন্তর্ভুক্ত করে আপনি এক্সেল, পিডিএফ, সিএসভি, ক্লিপবোর্ডে এবং প্রিন্টারে রফতানি পেতে পারেন।
এটি প্রয়োজনীয় সমস্ত কোড:
$(document).ready( function () {
$('#example').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "/swf/copy_cvs_xls_pdf.swf"
}
} );
} );
সুতরাং, দ্রুত মোতায়েন করা, কোনও ব্রাউজারের সীমাবদ্ধতা, কোনও সার্ভার-সাইড ল্যাঙ্গুয়েজের প্রয়োজন নেই এবং বেশিরভাগই খুব সহজেই বুঝতে। এটি একটি জয়-জয়। এটির একটিতে সীমাবদ্ধতা রয়েছে তবে এটি কলামের কঠোর বিন্যাস।
যদি ফর্ম্যাটিং এবং রঙগুলি নিখুঁত ডিলব্রেকার হয় তবে আমি খুঁজে পেয়েছি শুধুমাত্র 100% নির্ভরযোগ্য, ক্রস ব্রাউজার পদ্ধতিটি আপনার কোড থেকে সঠিক এক্সেল ফাইলগুলি প্রক্রিয়াকরণের জন্য একটি সার্ভার-সাইড ভাষা ব্যবহার করা language আমার পছন্দের সমাধানটি হ'ল পিএইপপিএক্সসেল এটি এখন পর্যন্ত আমি খুঁজে পেয়েছি যে কোনও ব্রাউজার থেকে এক্সেল এর একটি আধুনিক সংস্করণে ফর্ম্যাট করার সাথে রফতানিটি ইতিবাচকভাবে পরিচালনা করে যখন আপনি এটিকে এইচটিএমএল ব্যতীত আর কিছু দেন না। যদিও আমি স্পষ্ট করে বলি, এটি অবশ্যই প্রথম সমাধানের মতো সহজ নয়, এবং এটি একটি রিসোর্স হগও। তবে প্লাস দিকে এটি পিডিএফ-তে সরাসরি আউটপুটও করতে পারে। এবং একবার আপনি এটি কনফিগার করা হয়ে গেলে, এটি প্রতিটি সময় ঠিক কাজ করে।
আপডেট - 15 সেপ্টেম্বর, 2016: টেবিলটুলগুলি " বোতাম " নামে একটি নতুন প্লাগইনের পক্ষে বন্ধ করা হয়েছে এই সরঞ্জামগুলি পুরানো টেবিলটুলগুলি এক্সটেনশনের মতো একই ফাংশন সম্পাদন করে তবে এটি ইনস্টল করা খুব সহজ এবং তারা আধুনিক ব্রাউজারগুলির জন্য এইচটিএমএল 5 ডাউনলোডগুলি ব্যবহার করে, HTML5 স্ট্যান্ডার্ড সমর্থন করে না এমন ব্রাউজারগুলির জন্য মূল ফ্ল্যাশ ডাউনলোডে ফ্যালব্যাকের ক্ষমতা সহ with ২০১১ সালে আমি এই প্রতিক্রিয়াটি পোস্ট করার পর থেকে আপনি প্রচুর মন্তব্য থেকে দেখতে পাচ্ছেন, টেবিলটুলগুলির মূল দুর্বলতা সমাধান করা হয়েছে। বিকাশকারী এবং ব্যবহারকারী উভয়ের জন্যই কেবলমাত্র প্রচুর পরিমাণে ডেটা হ্যান্ডল করার জন্য আমি যথেষ্ট পরিমাণে ডেটা টেবিলগুলি সুপারিশ করতে পারি না।
অনেক দিন আগে, আমি আবিষ্কার করেছি যে এক্সেল কোনও টেবিল সহ একটি এইচটিএমএল ফাইল খুলবে যদি আমরা এটি এক্সেল সামগ্রী প্রকারের সাথে প্রেরণ করি। উপরের নথিটি বিবেচনা করুন:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Java Friends</title>
</head>
<body>
<table style="font-weight: bold">
<tr style="background-color:red"><td>a</td><td>b</td></tr>
<tr><td>1</td><td>2</td></tr>
</table>
</body>
</html>
আমি এটিতে নিম্নলিখিত বুকমার্কলেট চালিয়েছি:
javascript:window.open('data:application/vnd.ms-excel,'+document.documentElement.innerHTML);
এবং আসলে আমি এটি এক্সেল ফাইল হিসাবে ডাউনলোডযোগ্য পেয়েছি। যাইহোক , আমি প্রত্যাশিত ফলাফলটি পাইনি - ফাইলটি ওপেনঅফিস.আরগ লেখকটিতে খোলা ছিল। এটি আমার সমস্যা: আমার কাছে এই মেশিনে এক্সেল নেই তাই আমি আরও ভাল করে চেষ্টা করতে পারি না। এছাড়াও, এই কৌশলটি ছয় বছর আগে পুরানো ব্রাউজারগুলি এবং এমএস অফিসের একটি প্রাচীন সংস্করণ দিয়ে কাজ করেছিল, তাই আমি আজ বলতে পারি না যে এটি আজ কাজ করবে কিনা।
যাইহোক, উপরের নথিতে আমি একটি বোতাম যুক্ত করেছি যা পুরো ডকুমেন্টটিকে একটি এক্সেল ফাইল হিসাবে ডাউনলোড করবে তত্ত্বের সাথে:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Java Friends</title>
</head>
<body>
<table style="font-weight: bold">
<tr style="background-color:red"><td>a</td><td>b</td></tr>
<tr><td>1</td><td>2</td></tr>
<tr>
<td colspan="2">
<button onclick="window.open('data:application/vnd.ms-excel,'+document.documentElement.innerHTML);">
Get as Excel spreadsheet
</button>
</td>
</tr>
</table>
</body>
</html>
এটি একটি ফাইলে সংরক্ষণ করুন এবং বোতামে ক্লিক করুন। আমি চাই ভালবাসেন তাই আমি আপনাকে জিজ্ঞাসা এমনকি এই বলে যে এটা কাজ করে নি জন্য মন্তব্য করতে, যদি এটা কাজ করে বা না জানতে।
document.getElementById('id').innerHTML
কেবলমাত্র টেবিলটি বেছে বেছে ধরার জন্য আইডি কল করুন , অন্যথায় আপনার সমস্ত জিনিস স্প্রেডশিটে রফতানি হয়ে যায়। যদিও পুরানো IE তে কাজ করে না, কেবল শিরোনামের সমস্ত এইচটিএমএল সহ একটি নতুন উইন্ডো খোলে
আপনার পছন্দসই এক্সএমএল যুক্ত স্ট্রিং তৈরি করতে পুরানো এক্সেল 2003 এক্সএমএল ফর্ম্যাটটি (ওপেনএক্সএমএল এর আগে) ব্যবহার করা সম্ভব , ক্লায়েন্টের পাশে আপনি এক্সএসএল মাইম প্রকারটি ব্যবহার করে ফাইলটি খোলার জন্য একটি ডেটা ইউআরআই ব্যবহার করতে পারেন, বা ফাইলটি প্রেরণ করতে পারবেন সার্ভার দিক থেকে এক্সেল মাইমটাইপ "কন্টেন্ট-টাইপ: অ্যাপ্লিকেশন / vnd.ms-Excel" ব্যবহার করে ক্লায়েন্টের কাছে।
<script type="text/javascript">
var worksheet_template = '<?xml version="1.0"?><ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">'+
'<ss:Styles><ss:Style ss:ID="1"><ss:Font ss:Bold="1"/></ss:Style></ss:Styles><ss:Worksheet ss:Name="Sheet1">'+
'<ss:Table>{{ROWS}}</ss:Table></ss:Worksheet></ss:Workbook>';
var row_template = '<ss:Row ss:StyleID="1"><ss:Cell><ss:Data ss:Type="String">{{name}}</ss:Data></ss:Cell></ss:Row>';
</script>
<script type="text/javascript">
var rows = document.getElementById("my-table").getElementsByTagName('tr'),
row_data = '';
for (var i = 0, length = rows.length; i < length; ++i) {
row_data += row_template.replace('{{name}}', rows[i].getElementsByTagName('td')[0].innerHTML);
}
</script>
আপনার তথ্য সংগ্রহের পরে, চূড়ান্ত স্ট্রিং তৈরি করুন এবং ইউআরআই ডেটা ব্যবহার করে একটি নতুন উইন্ডো খুলুন
<script type="text/javascript">
var worksheet = worksheet_template.replace('{{ROWS}}', row_data);
window.open('data:application/vnd.ms-excel,'+worksheet);
</script>
এটি লক্ষণীয় যে পুরানো ব্রাউজারগুলি ডেটা ইউআরআই স্কিম সমর্থন করে না, সুতরাং আপনাকে সেই ব্রাউজারগুলির জন্য ফাইল সার্ভার সাইড তৈরি করতে হবে যা এটি সমর্থন করে না।
আপনাকে ডেটা ইউআরআই সামগ্রীতে বেস 64 এনকোডিংও করতে হতে পারে, যার জন্য জেএস লাইব্রেরির প্রয়োজন হতে পারে , পাশাপাশি ডাটা ইউআরআইতে মাইম টাইপের পরে স্ট্রিং '; বেস 64' যুক্ত করতে পারে।
এক্সেলের একটি সামান্য পরিচিত বৈশিষ্ট্য রয়েছে যা "ওয়েব ক্যোয়ারী" নামে পরিচিত যা আপনাকে অতিরিক্ত প্রোগ্রামিং ছাড়াই প্রায় প্রতিটি ওয়েব পৃষ্ঠা থেকে ডেটা পুনরুদ্ধার করতে দেয়।
একটি ওয়েব ক্যোয়ারী মূলত এক্সেলের মধ্যে থেকে সরাসরি একটি এইচটিটিপি অনুরোধ চালায় এবং প্রাপ্ত কিছু বা সমস্ত প্রাপ্ত ডেটা (এবং optionচ্ছিকভাবে ফর্ম্যাটিং) ওয়ার্কশিটে অনুলিপি করে।
আপনি ওয়েব ক্যোয়ারী সংজ্ঞায়িত করার পরে আপনি এটি এক্সেল ছাড়াই যে কোনও সময় তাজা করতে পারেন। সুতরাং আপনাকে আসলে "রফতানি" করতে হবে না এবং এটি কোনও ফাইলে সংরক্ষণ করতে হবে - আপনি বরং ডেটাবেস থেকে ডেটা রিফ্রেশ করবেন।
এমনকি আপনি নির্দিষ্ট ফিল্টারের মানদণ্ড ইত্যাদির জন্য আপনাকে এক্সেল প্রম্পট করে URL প্যারামিটারগুলি ব্যবহার করতে পারেন ...
তবে আমি এখনও অবধি লক্ষ্য করেছি:
এক্সেলে কীভাবে ওয়েব কোয়েরি তৈরি করা যায় সে সম্পর্কে এখানে একটি প্রশ্ন is এটি কোনও ওয়েব পৃষ্ঠা থেকে বাহ্যিক ডেটা কীভাবে পাবেন সে সম্পর্কে একটি মাইক্রোসফ্ট সহায়তা সাইটের সাথে লিঙ্ক করে
এটি একটি পিএইচপি তবে আপনি এটি জাভাস্ক্রিপ্টে পরিবর্তন করতে সক্ষম হতে পারেন:
<?php>
$colgroup = str_repeat("<col width=86>",5);
$data = "";
$time = date("M d, y g:ia");
$excel = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns=\"http://www.w3.org/TR/REC-html40\">
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html>
<head>
<meta http-equiv=\"Content-type\" content=\"text/html;charset=utf-8\" />
<style id=\"Classeur1_16681_Styles\">
.xl4566 {
color: red;
}
</style>
</head>
<body>
<div id=\"Classeur1_16681\" align=center x:publishsource=\"Excel\">
<table x:str border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\">
<colgroup>$colgroup</colgroup>
<tr><td class=xl2216681><b>Col1</b></td><td class=xl2216681><b>Col2</b></td><td class=xl2216681 ><b>Col3</b></td><td class=xl2216681 ><b>Col4</b></td><td class=xl2216681 ><b>Col5</b></td></tr>
<tr><td class=xl4566>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
</table>
</div>
</body>
</html>";
$fname = "Export".time().".xls";
$file = fopen($fname,"w+");
fwrite($file,$excel);
fclose($file);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.basename($fname).'"');
readfile($fname);
unlink($fname); ?>
প্রথম, আমি চাই এইচটিএমএল রফতানি করার চেষ্টা করার পরামর্শ না এবং আশা করি যে এক্সেলের ব্যবহারকারীর উদাহরণটি এটি গ্রহণ করবে। আমার অভিজ্ঞতা যে এই সমাধানটি ম্যাকিনটোস ক্লায়েন্টগুলির সাথে অসম্পূর্ণতা এবং ব্যবহারকারীকে একটি ত্রুটি ছুঁড়ে দেওয়ার মতো সমস্যায় ভরা যা প্রশ্নে থাকা ফাইলটি নির্দিষ্ট ফর্ম্যাটের নয়। সর্বাধিক বুলেট-প্রুফ, ব্যবহারকারী-বান্ধব সমাধানটি একটি সার্ভার-সাইড হ'ল যেখানে আপনি একটি আসল এক্সেল ফাইল তৈরি করতে লাইব্রেরি ব্যবহার করেন এবং এটি ব্যবহারকারীকে ফেরত পাঠান। পরবর্তী সেরা সমাধান এবং আরও সার্বজনীন সমাধান হ'ল ওপেন এক্সএমএল ফর্ম্যাটটি ব্যবহার করা। আমি এক্সেলের পুরানো সংস্করণগুলির সাথে কয়েকটি দুর্লভ সামঞ্জস্যতা সমস্যার সমাধান করেছি তবে সামগ্রিকভাবে এটি আপনাকে এমন একটি সমাধান দেবে যা ম্যাক্স সহ এক্সেলের কোনও সংস্করণে কাজ করবে।
মোজিলা এখনও বেস 64 ইউআরআই সমর্থন করে। এটি আপনাকে জাভাস্ক্রিপ্ট ব্যবহার করে গতিশীলভাবে বাইনারি সামগ্রী রচনা করতে দেয়:
<a href="data:application/vnd.ms-excel<base64 encoded binary excel content here>"> download xls</a>
যদি আপনার এক্সেল ফাইলটি খুব অভিনব না হয় (কোনও ডায়াগ্রাম, সূত্র, ম্যাক্রোস নেই) তবে আপনি নিজের ফর্ম্যাটটি খনন করতে পারেন এবং আপনার ফাইলের জন্য বাইট রচনা করতে পারেন, তবে সেগুলি বেস 64 এর সাথে এনকোড করে href এ রেখে দিতে পারেন
এটি আসলে আপনি যা ভাবেন তার চেয়ে আরও সহজ: "জাস্ট" এইচটিএমএল টেবিলটি কপি করুন (এটি: টেবিলের জন্য এইচটিএমএল কোড) ক্লিপবোর্ডে অনুলিপি করুন। এক্সেল এইচটিএমএল টেবিলগুলি কীভাবে ডিকোড করতে হয় তা জানে; এটি এমনকি বৈশিষ্ট্যগুলি সংরক্ষণ করার চেষ্টা করবে।
শক্ত অংশটি হ'ল ক্লিপবোর্ডে টেবিলটি অনুলিপি করুন "যেহেতু জাভাস্ক্রিপ্ট থেকে ক্লিপবোর্ড অ্যাক্সেসের কোনও আদর্শ উপায় নেই। এই ব্লগ পোস্টটি দেখুন: জাভাস্ক্রিপ্ট সহ সিস্টেম ক্লিপবোর্ড অ্যাক্সেস করা - একটি পবিত্র গ্রিল?
এখন আপনার যা দরকার তা হ'ল এইচটিএমএল হিসাবে সারণী। আমি jQuery এবং এইচটিএমএল () পদ্ধতি প্রস্তাব করি।
এই কোডটি কেবলমাত্র আইই তাই এটি কেবল তখনই কার্যকর যখন আপনি জানেন যে আপনার সমস্ত ব্যবহারকারী IE ব্যবহার করবেন (যেমন, উদাহরণস্বরূপ, কিছু কর্পোরেট পরিবেশে))
<script Language="javascript">
function ExportHTMLTableToExcel()
{
var thisTable = document.getElementById("tbl").innerHTML;
window.clipboardData.setData("Text", thisTable);
var objExcel = new ActiveXObject ("Excel.Application");
objExcel.visible = true;
var objWorkbook = objExcel.Workbooks.Add;
var objWorksheet = objWorkbook.Worksheets(1);
objWorksheet.Paste;
}
</script>
অনুমান:
প্রদত্ত ইউআরএল
রূপান্তরটি ক্লায়েন্ট পক্ষেই করতে হবে
সিস্টেমগুলি হ'ল উইন্ডোজ, ম্যাক এবং লিনাক্স
উইন্ডোজ জন্য সমাধান:
পাইথন কোড যা ie উইন্ডোটি খুলবে এবং এতে অ্যাক্সেস রয়েছে: থেরাল ভেরিয়েবলটিতে ইউআরএল রয়েছে ('http: //')
ie = Dispatch("InternetExplorer.Application")
ie.Visible = 1
ie.Navigate(theurl)
দ্রষ্টব্য: যদি পৃষ্ঠাটি সরাসরি অ্যাক্সেসযোগ্য না হয় তবে লগইন হয় তবে আপনাকে ফর্ম ডেটা প্রবেশ করে এবং অজগর দিয়ে ব্যবহারকারী ক্রিয়াগুলি অনুকরণ করে এটি পরিচালনা করতে হবে
এখানে উদাহরণ
from win32com.client import Dispatch
ie.Document.all('username').value=usr
ie.Document.all('password').value=psw
ওয়েব পৃষ্ঠা থেকে ডেটা পুনরুদ্ধারের জন্য একই পদ্ধতি। ধরা যাক আইডি 'এল 1' সহ উপাদানটিতে ডেটা রয়েছে। ভেরিয়েবলটিতে উপাদান পাঠ্য পুনরুদ্ধার করুন
el1 = ie.Document.all('el1').value
তারপরে যখন ডেথটি পাইথন ভেরিয়েবলে থাকে, আপনি অজগরটি ব্যবহার করে একই পদ্ধতিতে এক্সেল স্ক্রিনটি খুলতে পারেন:
from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlWb = xlApp.Workbooks.Open("Read.xls")
xlSht = xlWb.WorkSheets(1)
xlSht.Cells(row, col).Value = el1
ম্যাকের জন্য সমাধান:
কেবলমাত্র টিপ: অ্যাপলস্ক্রিপ্টটি ব্যবহার করুন - এতে উইন 32 কমপিএলেন্ট ডিসপ্যাচ হিসাবে সহজ এবং অনুরূপ এপিআই রয়েছে
লিনাক্সের জন্য সমাধান:
java.awt.Robot এর জন্য এটি ক্লিক করতে পারে, কী টিপুন (হট কীগুলি ব্যবহার করা যেতে পারে) কাজ করতে পারে, তবে আমি যে লিনাক্স সম্পর্কে সচেতন তা অ্যাপলস্ক্রিপ্টের মতো সহজ কাজ করতে পারে
সরল গুগল অনুসন্ধান এটিকে চালু করেছে:
যদি ডেটাটি আসলে একটি এইচটিএমএল পৃষ্ঠা হয় এবং এটিএসপি, পিএইচপি, বা অন্য কোনও স্ক্রিপ্টিং ভাষা দ্বারা তৈরি না করা হয় এবং আপনি ইন্টারনেট এক্সপ্লোরার 6 ব্যবহার করেন এবং আপনার কম্পিউটারে এক্সেল ইনস্টল করা থাকে তবে কেবল পৃষ্ঠায় ডান ক্লিক করুন এবং দেখুন মেনু মাধ্যমে। আপনার উচিত "মাইক্রোসফ্ট এক্সেলে এক্সপোর্ট" দেখতে হবে। যদি এই সমস্ত শর্তটি সত্য হয় তবে মেনু আইটেমটিতে ক্লিক করুন এবং কয়েকটি অনুরোধের পরে এটি এক্সেলে আমদানি করা হবে।
যদি আপনি এটি করতে না পারেন তবে তিনি একটি বিকল্প "টেনে আনুন এবং ছাড়ুন" পদ্ধতিটি দেন:
এবং এখন আরও একটি ভাল উপায় আছে।
জাভাস্ক্রিপ্টের জন্য ওপেনএক্সএমএল এসডিকে।
এটি স্বয়ংক্রিয়ভাবে করার জন্য ব্যবহারিক দুটি উপায় রয়েছে যখন সমস্ত ব্রাউজারে কেবলমাত্র একটি সমাধান ব্যবহার করা যায়। এক্সেল শীটটি তৈরি করতে আপনার প্রথমে ওপেন এক্সএমএল স্পেসিফিকেশন ব্যবহার করা উচিত। মাইক্রোসফ্ট থেকে বিনামূল্যে প্লাগইন উপলব্ধ রয়েছে যা পুরানো অফিস সংস্করণগুলির জন্যও এই ফর্ম্যাটটি উপলব্ধ করে। ওপেন এক্সএমএল 2007 সাল থেকে কার্যকরী। দুটি উপায় স্পষ্টতই সার্ভারসাইড বা ক্লায়েন্টসাইট।
ক্লায়েন্টসাইড বাস্তবায়ন সিএসএসের একটি নতুন মান ব্যবহার করে যা আপনাকে কেবলমাত্র ডেটাতে URL টির পরিবর্তে ডেটা সংরক্ষণ করতে দেয়। এটি আপনার কাছে কোনও সার্ভারক্যাল প্রয়োজন নেই, কেবলমাত্র ডেটা এবং কিছু জাভাস্ক্রিপ্ট দরকার a হত্যার বিপর্যয় হ'ল মাইক্রোসফ্ট বর্তমান আইই (আইই 9 সম্পর্কে জানি না) রিলিজে এর সমস্ত অংশ সমর্থন করে না। মাইক্রোসফ্ট ডেটা একটি চিত্র হতে সীমাবদ্ধ করে তবে আমাদের একটি নথির প্রয়োজন হবে। ফায়ারফক্সে এটি বেশ সূক্ষ্মভাবে কাজ করে। আমার জন্য আইই হত্যার পয়েন্ট।
অন্য উপায়টি হ'ল সার্ভারসাইড বাস্তবায়ন ব্যবহারকারী। সমস্ত ভাষার জন্য ওপেন এক্সএমএল প্রচুর বাস্তবায়ন হওয়া উচিত। আপনার কেবল একটি আঁকতে হবে। বেশিরভাগ ক্ষেত্রেই কোনও দস্তাবেজের ফলস্বরূপ কোনও ভিউমডেলকে সংশোধন করার সহজতম উপায় তবে নিশ্চিতভাবে আপনি ক্লায়েন্টাইড থেকে সমস্ত ডেটা সার্ভারে ফেরত পাঠাতে পারেন এবং একই কাজ করতে পারেন।
function normalexport() {
try {
var i;
var j;
var mycell;
var tableID = "tblInnerHTML";
var drop = document.getElementById('<%= ddl_sections.ClientID %>');
var objXL = new ActiveXObject("Excel.Application");
var objWB = objXL.Workbooks.Add();
var objWS = objWB.ActiveSheet;
var str = filterNum(drop.options[drop.selectedIndex].text);
objWB.worksheets("Sheet1").activate; //activate dirst worksheet
var XlSheet = objWB.activeSheet; //activate sheet
XlSheet.Name = str; //rename
for (i = 0; i < document.getElementById("ctl00_ContentPlaceHolder1_1").rows.length - 1; i++) {
for (j = 0; j < document.getElementById("ctl00_ContentPlaceHolder1_1").rows(i).cells.length; j++) {
mycell = document.getElementById("ctl00_ContentPlaceHolder1_1").rows(i).cells(j);
objWS.Cells(i + 1, j + 1).Value = mycell.innerText;
// objWS.Cells(i + 1, j + 1).style.backgroundColor = mycell.style.backgroundColor;
}
}
objWS.Range("A1", "L1").Font.Bold = true;
// objWS.Range("A1", "L1").Font.ColorIndex = 2;
// objWS.Range("A1", "Z1").Interior.ColorIndex = 47;
objWS.Range("A1", "Z1").EntireColumn.AutoFit();
//objWS.Range("C1", "C1").ColumnWidth = 50;
objXL.Visible = true;
} catch (err) {
alert("Error. Scripting for ActiveX might be disabled")
return
}
idTmr = window.setInterval("Cleanup();", 1);
}
function filterNum(str) {
return str.replace(/[ / ]/g, '');
}