數據導出


數據導出和數據導入剛好是相反的,把邏輯反過來就可以了。

源碼:https://github.com/SeaLee02/FunctionModule/blob/master/UploadFiles/WebDemo/COM/DataToOut.aspx

效果:

?

然后勾選需要導出的數據,生成Excel

?

?部分前臺:

 <div style="margin-left: 100px;"><asp:LinkButton CssClass="add" ID="lnkData" runat="server" OnClientClick="return Test()" OnClick="lnkData_Click">導出<br />數據</asp:LinkButton><asp:HiddenField ID="hfID" runat="server" />  //賦值選擇了需要導出數據的ID</div>

?

?JS:

   //全選/不全選$("#checkAll").click(function () {var f = $("#checkAll").is(":checked")if (f) {$("input[name=chk]:checkbox").prop("checked", true);} else {$("input[name=chk]:checkbox").prop("checked", false);}});//單選var d = $("input[name=chk]:checkbox").length;$("input[name=chk]:checkbox").click(function () {var dd = $("input[name=chk]:checked").length;if (parseInt(d) === parseInt(dd)) {$("#checkAll").prop("checked", true);} else {$("#checkAll").prop("checked", false);}});//取值
            function Test() {             var ids = "";            var dd = $("input[name=chk]:checked");               dd.each(function () {ids += $(this).val() + ",";                       });if (ids=="") {alert("請選擇導入的數據");return false;}ids = ids.substring(0, ids.length - 1);$("#hfID").val(ids);return true;};

?

?后臺導出數據的代碼:

?Aspose.Cells 需要從外面引入的

?

  protected void lnkData_Click(object sender, EventArgs e){DataTable ds = new FunctionDemo.BLL.DataToLead().GetList(" ID in (" + hfID.Value + ")").Tables[0];if (ds.Rows.Count > 0){//創建一個excel表格Workbook workbook = new Workbook();Worksheet sheet = workbook.Worksheets[0] as Worksheet; //工作薄Cells cells = sheet.Cells;//取到所有的列//然后往cell里面插入數據  sheet.FreezePanes(1, 1, 1, 0);//凍結第一行
//插入頭部cells[0, 0].PutValue("姓名");cells[0, 1].PutValue("性別");cells[0, 2].PutValue("年齡");cells[0, 3].PutValue("電話號碼");cells[0, 4].PutValue("標記");Aspose.Cells.Style style1 = workbook.Styles[workbook.Styles.Add()]; //設置樣式 然后進行設置style1.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;//居中//列寬cells.SetColumnWidth(0, 20);cells.SetColumnWidth(1, 20);cells.SetColumnWidth(2, 20);cells.SetColumnWidth(3, 50);cells.SetColumnWidth(4, 20);for (int i = 0; i < ds.Rows.Count; i++){cells.SetRowHeight(i, 20); //行高//賦值和樣式cells[1 + i,0].PutValue(ds.Rows[i]["Name"].ToString());cells[1 + i,0].SetStyle(style1);
cells[
1 + i,1].PutValue(ds.Rows[i]["Sex"].ToString());cells[1 + i,1].SetStyle(style1);
cells[
1 + i,2].PutValue(ds.Rows[i]["Age"].ToString());cells[1 + i,2].SetStyle(style1);
cells[
1 + i,3].PutValue(ds.Rows[i]["Tel"].ToString());cells[1 + i,3].SetStyle(style1);
cells[
1 + i,4].PutValue(ds.Rows[i]["Remark"].ToString());cells[1 + i,4].SetStyle(style1);}Aspose.Cells.Style style = workbook.Styles[workbook.Styles.Add()]; //設置樣式style.HorizontalAlignment = TextAlignmentType.Center;//居中style.ForegroundColor = System.Drawing.Color.Khaki;//背景樣式style.Pattern = BackgroundType.Solid; //枚舉類型 模式 實線

cells[0,0].SetStyle(style); //第一行設計樣式 頭cells[0, 1].SetStyle(style); cells[0, 2].SetStyle(style); cells[0, 3].SetStyle(style); cells[0, 4].SetStyle(style);
System.IO.MemoryStream ms
= workbook.SaveToStream();//生成流byte[] by = ms.ToArray();//生成字節好下載string fileName = "導出數據" + DateTime.Now.ToString("yyyyMMddHHmmss")+".xls";//文件名Response.ContentType = "application/octet-stream";//文件下載//以字節流形式下載excel 上面下面兩種類型都可以//Response.ContentType = "application/vnd.ms-excel";//編碼 Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8));Response.BinaryWrite(by);Response.Flush();Response.End();}}

?

合并單元格 ? ? 使用 ??cells.Merge()方法就可以完成

?

? ?

?

?

?

?

轉載于:https://www.cnblogs.com/Sea1ee/p/7089416.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370146.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370146.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370146.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言清空輸入緩沖區函數,c語言:C語言清空輸入緩沖區在標準輸入(stdin)情況 -電腦資料...

C語言清空輸入緩沖區在標準輸入(stdin)情況下的使用程序1&#xff1a;//功能&#xff1a;先輸入一個數字&#xff0c;再輸入一個字符&#xff0c;輸出hello bit#include int main(){int num 0;char ch ;scanf("%d", &num);scanf("%c", &ch);pri…

Spring MVC 3:上傳多個文件

只是在辦公室又漫長的一天&#xff0c;數據庫不可用&#xff0c;一個團隊成員現在滯后一周。 因此&#xff0c;我們必須作為一個團隊來交付它。 在Spring3&#xff0c;它看起來很直接上傳文件。 但是&#xff0c;從jsp文件上載多個文件幾乎沒有幫助。 上載多個文件需要完成三件…

spring 事務隔離級別和傳播行為_Spring事務傳播性與隔離性實戰

一、事務傳播性1.1 什么是事務的傳播性事務的傳播性一般在事務嵌套時候使用&#xff0c;比如在事務A里面調用了另外一個使用事務的方法&#xff0c;那么這倆個事務是各自作為獨立的事務執行提交&#xff0c;還是內層的事務合并到外層的事務一塊提交那&#xff0c;這就是事務傳播…

前端為什么非要動靜分離 說一下CDN托管的意義

大型Web應用對速度的追求并沒有止步于僅僅利用瀏覽器緩存&#xff0c;因為瀏覽器緩存始終只是為了提升二次訪問的速度&#xff0c;對于首次訪問的加速&#xff0c;我們需要從網絡層面進行優化&#xff0c;最常見的手段就是CDN&#xff08;Content Delivery Network&#xff0c;…

unity語音聊天之 www.GetAudioClip

最近在開發語音聊天功能,游戲需要跨平臺安卓與ios&#xff0c;上傳本地錄制的wav文件至服務器后&#xff0c;需要根據服務器返回的地址進行語音文件的下載并進行播放。 這里通過使用www進行下載并播放 其中在ios播放時卻不行了&#xff0c;查詢官方文檔后發現&#xff0c;ios必…

輕談BFC

BFC 定義 CSS2.1的定義 Block formatting contexts 9.4.1 Block formatting contexts Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with overflow other …

Java中的Selenium / WebDriver示例

幾年前&#xff0c;我正在忙于一些工作&#xff0c;客戶希望了解如何解決現實世界中的問題。 他們要求我自動化woot.com網站上的某些任務。 他們的任務是訪問各個網站&#xff0c;并閱讀當天商品的名稱和價格。 我寫了一些Selenium代碼&#xff0c;以為可以將其張貼在這里&am…

c語言中怎樣實現空格的替換,C語言實現去除字符串中空格的簡單實例

在網上看了些去除空格的代碼,覺得都不是很簡潔,就自己寫代碼實現它本著高效率,不使用額外存儲空間的想法實現該功能去除空格一共有三種&#xff1a;1、去除全部空格&#xff1b;2、一種是去除左邊空格&#xff1b;3、去除右邊空格想去除左右兩邊空格&#xff0c;只要先去除左邊…

python消息隊列中間件_python-RabbtiMQ消息隊列

1.RabbitMQ簡介AMQP&#xff0c;即Advanced Message Queuing Protocol&#xff0c;高級消息隊列協議&#xff0c;是應用層協議的一個開放標準&#xff0c;為面向消息的中間件設計。消息中間件主要用于組件之間的解耦&#xff0c;消息的發送者無需知道消息使用者的存在&#xff…

CSS position(定位)屬性

關于CSS position&#xff0c;來自MDN的描述&#xff1a; CSS position屬性用于指定一個元素在文檔中的定位方式。top、right、bottom、left 屬性則決定了該元素的最終位置。 然后來看看什么是文檔流(normal flow)&#xff0c;下面是 www.w3.org 的描述&#xff1a; Normal flo…

tomcat配置文件server.xml詳解

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 目錄(?)[] 元素名 屬性 解釋 server port 指定一個端口&#xff0c;這個端口負責監聽關閉tomcat 的請求 shutdown 指定向端口發送的命令字符串 service name 指定service 的名字 Con…

均值,方差,協方差,協方差矩陣,特征值,特征向量

大牛博客&#xff0c;收藏一下 http://blog.csdn.net/yangleo1987/article/details/52845912轉載于:https://www.cnblogs.com/gaohai/p/8086626.html

Java ByteBuffer –速成課程

以我的經驗&#xff0c;當開發人員第一次遇到java.nio.ByteBuffer時&#xff0c;會引起混亂和細微的錯誤&#xff0c;因為如何正確使用它尚不明顯。 在我對API文檔感到滿意之前&#xff0c;需要反復閱讀API文檔和一些經驗以實現一些微妙之處。 這篇文章是關于如何正確使用它們的…

c語言cth三角函數表示,三角函數與雙曲函數基本公式對照表

圓函數(三角函數)1.基本性質&#xff1a;sin tan cos x x x ,cos cot sin xx x 1sec cos x x ,1csc sin x x tan cot 1x x sin csc 1x x sec cos 1x x 22sin cos 1x x 221tan sec x x ,221cot csc x x 2.奇偶性&#xff1a;sin()sin x x -- cos()cos x x - tan()tan x x --3.…

實現編輯功能有哪幾個action_Web 應用的撤銷重做實現

背景前不久&#xff0c;我參與開發了團隊中的一個 web 應用&#xff0c;其中的一個頁面操作如下圖所示&#xff1a;GIF這個制作間頁面有著類似 PPT 的交互&#xff1a;從左側的工具欄中選擇元素放入中間的畫布、在畫布中可以刪除、操作&#xff08;拖動、縮放、旋轉等&#xff…

為什么我們要做三份 Webpack 配置文件

時至今日&#xff0c;Webpack 已經成為前端工程必備的基礎工具之一&#xff0c;不僅被廣泛用于前端工程發布前的打包&#xff0c;還在開發中擔當本地前端資源服務器&#xff08;assets server&#xff09;、模塊熱更新&#xff08;hot module replacement&#xff09;、API Pro…

使用maven插件構建docker鏡像

為什么要用插件 主要還是自動化的考慮&#xff0c;如果額外使用Dockerfile進行鏡像生成&#xff0c;可能會需要自己手動指定jar/war位置&#xff0c;并且打包和生成鏡像間不同步&#xff0c;帶來很多瑣碎的工作。 插件選擇 使用比較多的是spotify的插件:https://github.com/spo…

windows下如何安裝pip以及如何查看pip是否已經安裝成功?

最近剛學習python&#xff0c;發現很多關于安裝以及查看pip是否安裝成的例子都比較老&#xff0c;不太適合于現在&#xff08;python 3.6 &#xff09;因此&#xff0c;下一個入門級別的教程。 0&#xff1a;首先如何安裝python我就不做介紹了。 1&#xff1a;如果安裝的是pyth…

檢查用戶顯示器的分辨率

檢查用戶顯示器的分辨率 轉載于:https://www.cnblogs.com/Renyi-Fan/p/8088012.html

android 字體 dpi,詳解Android開發中常用的 DPI / DP / SP

Android的碎片化已經被噴了好多年&#xff0c;隨著國內手機廠商的崛起&#xff0c;碎片化也越來越嚴重&#xff0c;根據OpenSignal的最新調查&#xff0c;2014年市面上有18796種不同的Android設備&#xff0c;作為開發者&#xff0c;一個無法回避的難題就是需要適配各種各樣奇奇…