精华内容
下载资源
问答
  • SVN 文件导出造成桌面图标显示问号

    千次阅读 2014-11-12 17:06:19
    SVN 文件导出造成桌面图标显示蓝色问号的解决过程

    在使用svn客户端选择签出的时候 我直接把文件放在桌面 然后我桌面的所有图标都加了一个“?”的东西。而且在桌面上新建的文件夹之类的都会出现有个问号

    如图所示:


    解决方法:

    这个比较容易,你在桌面创建一个记事本文件,然后吧这句话复制进去
    for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" 
    然后保存,再把记事本文件重命名 叫 删除SVN信息.bat ,这时候要注意后缀名不是txt而是bat 了,然后双击这个批处理文件就可以解决


    展开全文
  • pcb如何导出坐标文件

    2020-07-11 12:43:13
    4、导出的坐标文件保存PCB文件所在的文件夹里(如果pcb文件在桌面上,那么坐标文件就会导出桌面),坐标文件一般是以“PickPlaceforXXXX”命名的文件。 打开坐标文件就可以看到每个器件X方向和Y方向的坐标。 ...
  • //以下代码Win程序运行功能成功,注意的一点是Win程序中用了ASP.NET的WEB控件DataGrid1//代码亦可WEB中运行 //绑定数据到DataGrid1 this.DataGrid1.DataSource = SourceTb.DefaultView; this.DataGrid1....

    //以下代码在Win程序运行功能成功,注意的一点是在Win程序中用了ASP.NET的WEB控件DataGrid1

    //代码亦可在WEB中运行

     //绑定数据到DataGrid1
     this.DataGrid1.DataSource = SourceTb.DefaultView;
     this.DataGrid1.DataBind();


       //将DataGrid1构成的html代码写进StringWriter +
         System.IO.StringWriter  tw   = new System.IO.StringWriter();
       System.Web.UI.HtmlTextWriter hw  = new System.Web.UI.HtmlTextWriter(tw);
       DataGrid1.RenderControl(hw);
        string HtmlInfo = tw.ToString().Trim();
        //此句可解决导出的Excel文档显示乱码"<meta http-equiv=Content-Type content=text/html;charset=gb2312>"
       HtmlInfo="<meta http-equiv=Content-Type content=text/html;charset=gb2312>"+HtmlInfo;
        //MessageBox.Show(HtmlInfo,"提示");
       //得到Excel文件的物理地址
       string FilePathName = "要保存文档的路径//文档名.xls";
       System.IO.File.Delete(FilePathName);
       FileStream Fs  = new FileStream(FilePathName, FileMode.Create);
       BinaryWriter BWriter= new BinaryWriter(Fs,System.Text.Encoding.GetEncoding("GB18030"));
       //将DataGrid的信息写入Excel文件
       BWriter.Write(HtmlInfo);
       BWriter.Close();
       Fs.Close();
     

    如果没什么特别的要求,第一种可以满足基本导出文档,并不会显示乱码的要求.

     

    其它在WEB上的写法:

    一般常用的方法为:
    DataGrid1.DataSource = this.GetDataSource();   
    DataGrid1.DataBind();
    Response.Clear();
    Response.Buffer = true;
    Response.ContentType            = "application/vnd.ms-excel";
    Response.Charset                    = "gb2312";
    EnableViewState                     = false;
    System.IO.StringWriter tw       = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
    DataGrid1.RenderControl(hw );
    Response.Write(tw.ToString());
    Response.End();

    但是有时导出会出现乱码,有时则不会出现乱码.真是百思不得其解.

    我们可以这样解决将
    Response.ContentType            = "application/vnd.ms-excel";
    Response.Charset                    = "gb2312";
    换成:
    Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");
    Response.AppendHeader("content-disposition","attachment;filename=/"" + HttpUtility.UrlEncode("全部销售记录["+DateTime.Now.ToString("yyyy-MM-dd")+"]",System.Text.Encoding.UTF8) + ".xls/"");

    为什么直接输出到Excel会出现乱码,而用Excel打开这段Html不会出现乱码呢?暂时能解决问题但还是不明白,希望高手能给予释疑!

     

    还有这一写法,该写法与第一种类似,但以下写法与第二种写法一样,有时会有乱码,有时不会.

    //绑定数据到DataGrid1
     this.DataGrid1.DataSource = SourceTb.DefaultView;
     this.DataGrid1.DataBind();
     //将DataGrid1构成的html代码写进StringWriter
     this.DataGrid1.Page.EnableViewState = false;
     System.IO.StringWriter  tw   = new System.IO.StringWriter();
     System.Web.UI.HtmlTextWriter hw  = new System.Web.UI.HtmlTextWriter(tw);
     this.DataGrid1.RenderControl(hw);
     string HtmlInfo = tw.ToString().Trim();

     string DocFileName = "审批信息.xls";
     string FilePathName = Request.PhysicalPath;
     FilePathName  = FilePathName.Substring(0,FilePathName.LastIndexOf("//"));
     //得到Excel文件的物理地址
     FilePathName  = FilePathName +"//" + DocFileName;
     System.IO.File.Delete(FilePathName);
     FileStream Fs  = new FileStream(FilePathName, FileMode.Create);
     BinaryWriter BWriter= new BinaryWriter(Fs,System.Text.Encoding.GetEncoding("GB18030"));
     //将DataGrid的信息写入Excel文件
     BWriter.Write(HtmlInfo);
     BWriter.Close();
     Fs.Close();

    展开全文
  • 现在描述一下问题:按照教程描述,运行程序后可以打开Android Device Monitor工具,里面的File Explorer标签页能够查找到程序生成的文件data。我按照教程上做了,但是发现File Explorer标签页下面什么都没有(打开

    今天学习了Android开发教程《第一行代码》第6.2.1节,这一节讲的是把数据存储到文件中。我按照教程编写好代码后运行程序,测试结果时出现了问题。现在描述一下问题:按照教程描述,运行程序后可以打开Android Device Monitor工具,在里面的File Explorer标签页能够查找到程序生成的文件data。我按照教程上做了,但是发现File Explorer标签页下面什么都没有(打开File Explorer时,Android的模拟器必须打开状态才能查看文件),这是不是一个非常蛋疼的问题发火


    接下来我从网上寻找解决方法,找到了https://segmentfault.com/a/1190000008416511这个上面介绍的方法,按照这篇文章上的方法解决了File Explorer标签页显示文件树的问题。

    接下来因为权限的问题想要对文件进行操作还是不可行的,必须先获取root权限。文章的末尾会给出获取root权限的方法,下面的文章介绍了我解决这个问题的坎坷过程,感兴趣的朋友可以看一下。


    把我程序生成的data文件导出到电脑桌面,但是却发现没有任何响应。这是因为权限不足导致的,上面的文章中也说到了这个问题,解决方法就是修改权限。我按照上面文章中的步骤修改权限,但是修改失败。修改提示如下的问题,文件夹的权限并没有改变(这里注意了,一定要把命令行定位到platform-tools文件夹):


    如果你不想在命令行中通过cd指令一层一层的进入到platform-tools文件夹,可以使用如下快捷方式进入:在platform-tools目录下面按住shift键右击:选择在此处打开命令窗口,这样进入命令行模式时就自动定位到这个目录了。



    言归正传,上面修改所有的权限没有成功,我修改了data文件夹和/data/data文件夹的权限,


    这下就可以查看data文件夹下面的文件了。我找到了我需要的文件:


    接下来按照教程把这个文件导出到电脑桌面时(点击按钮1,提示错误如2),遇到了如下问题:



    接着又是一通网上找答案,网上给出的解决方法大部分都是修改文件的权限,可是这个文件的权限已经是最大权限了呀。网上提出了可以使用adb pull命令把这个文件复制出来,我按照网上给的复制命令进行了测试,结果没有成功。


    又经过一阵不懈的努力,终于找到了解决方法:模拟机默认下是没有读写权限的,如果需要对模拟器中的文件进行操作,首先要把模拟器改成能够读写权限。修改模拟器权限的指令如图2所示为:先输入adb root指令,在使用adb remount指令。出现remount success表示模拟器权限修改成功。



    修改了模拟器的读写权限后,使用adb pull命令就可把复制文件到电脑桌面了(我这里复制了整个文件夹里面的文件),也可以使用导出功能直接导出文件了(这里可能要重新打开以下Android Device Monitor)。(点击按钮1导出data文件成功了)




    好了,看到这里你已经把我解决这个问题的坎坷过程了解了。总结一下吧,在File Explorer中看到文件树之后,接下来的你想要对文件进行任何操作只需要获取root权限就可以了。也就是在命令行中输入adb root命令。执行这个命令后你就可以对目录中的文件进行任何操作了,而不需要再修改文件权限这下不必要的操作了。

    展开全文
  • 实现导出文件时 弹出下载框 主要是 设置成 文件流 stream 类型的response. 浏览器就会识别出 文件下载弹出 下载框。 这里总结三个方式 sturts框架中弹出 详见  java通过struts实现web中的文件下载 其中关键的...



    实现导出文件时 弹出下载框 主要是 设置成 文件流  stream 类型的response. 浏览器就会识别出 文件下载弹出 下载框。


    这里总结三个方式

    web-sturts框架中弹出

    详见  

    java通过struts实现web中的文件下载

    其中关键的设置是

    <struts>        
       <package name="struts2" extends="struts-default">        
           <action name="FileDownload" class="com.struts2.filedownload.FileDownload">  
               <result name="success" type="stream">  
                   <param name="contentType">text/plain</param>  
                   <param name="contentDisposition">attachment;fileName="${fileName}"</param>  
                   <param name="inputName">downloadFile</param>  
                   <param name="bufferSize">1024</param>  
               </result>  
           </action>  
         
       </package>  
         
    </struts>  



    web-SpringMvc等非struts框架中弹出

    在response中设置头

    response.addHeader("Content-Disposition", "attachment;filename="+ new String(filename.getBytes()));  
               OutputStream os= new BufferedOutputStream(response.getOutputStream());  
               response.setContentType("application/vnd.ms-excel;charset=gb2312");  
               os.write(buffer);  
               os.flush();  
               os.close();  

    例如:

    jsp页面 使用js    提交 post  form

        $(document).ready(function() {    
        	var $searchForm = $('#search_form').on('submit',function(){
            	$dt.DataTable().searchEx( {} ).draw();
            	return false;
            }).on('click', 'button.export', function(){ 
            var searchData={};
            searchData.search=$('#search_form').formGet();  
              console.log(searchData);
               post('/order/list/export',searchData);        	
            });
                  
                  
          function post(URL, PARAMS) {        
            var temp = document.createElement("form");        
            temp.action = URL;        
            temp.method = "post";        
            temp.style.display = "none";        
            for (var x in PARAMS.search) {        
               var opt = document.createElement("textarea"); 
               if(x=="id"||x=="expressNumber"||x=="payStatus"){      
                 opt.name = x;        
                 opt.value = PARAMS.search[x];
                 temp.appendChild(opt);  
               }       
            }        
            document.body.appendChild(temp);        
            temp.submit(); 
          }  
    }

    后端接受参数后查询出数据,把生成的excel写入excel,返回文件流

    	@RequestMapping("/list/export")
    	public Object export(@RequestParam String id,@RequestParam  String expressNumber,@RequestParam String payStatus,HttpServletResponse response) {
    		PagerRequest<Map> req=new PagerRequest<Map>();
    		req.setLength(0);
    		req.setOffset(0);
    		HashMap<String, String> search=new HashMap<String, String>();
    		search.put("id", id);
    		search.put("expressNumber", expressNumber);
    		search.put("payStatus", payStatus);
    		req.setSearch(search);
    		List<Order> orders = new ArrayList<Order>();
    		if (req.getSearch() == null||req.getSearch().size()==0) {
    			orders = (List<Order>) orderRepository.findAll();
    		} else {
    			Page<Order> page = orderRepository.listWithSearch(new PageRequest(
    					0,(int) orderRepository.count()), req
    					.getSearch());
    			orders = page.getContent();
    		}
    		if (productService.exportOrders(orders,response)) {
    			return null;
    		}
    		return null; 
    
    	}


    	@Override
    		public boolean exportOrders(List<Order> orders, HttpServletResponse response) {
    			try {
    
    				ArrayList<String[]> contentsArrayList = new ArrayList<String[]>();
    				String[] titles = new String[14];
    				titles[0] = "订单日期";
    				titles[1] = "订单支付日期";
    				titles[2] = "订单编号";
    				titles[3] = "产品名称";
    				titles[4] = "产品类型";
    				titles[5] = "单价";
    				titles[6] = "购买数量";
    				titles[7] = "总金额";
    				titles[8] = "付款状态";
    				titles[9] = "收件人名称";
    				titles[10] = "收件人电话";
    				titles[11] = "配送地址";
    				titles[12] = "配送日期";
    				titles[13] = "发票信息";
    				contentsArrayList.add(titles);
    				for (int i = 0; i < orders.size(); i++) {
    					List<BuyList> butlists = orders.get(i).getBuyList();
    					for (BuyList buyList : butlists) {
    						String[] content = new String[14];
    						content[0] = orders.get(i).getCreateDate();
    						content[1] = orders.get(i).getPayDate();
    						content[2] = orders.get(i).getId();
    						content[3] = buyList.getProductName();
    						content[4] = buyList.getProductTypeStr();
    						if(buyList.getProductPrice()!=null){
    							content[5]=buyList.getProductPrice().toString();	
    						}						
    						content[6] = String.valueOf(buyList.getProductCount());
    						content[7] = orders.get(i).getTotalMoney();
    						content[8] = orders.get(i).getPayStatus() == Order.PAY_PAIY ? "已付款"
    								: "未付款";
    						content[9] = orders.get(i).getName();
    						content[10] = orders.get(i).getMobile();
    						content[11] = orders.get(i).getAddress();
    						OrderStatus orderStatus=orders.get(i).getOrderStatus();
    						if(orderStatus!=null){
    							HistoryStatus historyStatus=orderStatus.getCurrent();
    							if(historyStatus!=null){
    								if(historyStatus.getStatus()==OrderStatus.STATUS_SEND_OUT){
    								content[12] =historyStatus.getDatetime();	
    								}
    							}
    						}
    						content[13] = orders.get(i).isHasInvoice() == true ? "是"
    								: "否";
    						contentsArrayList.add(content);
    					}
    				}
    				String[][] contents = ExcelUtils.changeToArray(contentsArrayList);				
    				String fileName = ExcelUtils.writeExcel(contents, "订单",response);
    			    return true;
    			} catch (Exception e) {
    				e.printStackTrace();
    
    			}
    			return false;
    		}

    public static String writeExcel(String[][] titles, String title, HttpServletResponse response) throws IOException {
    		String fileName =title
    				+ Calendar.getInstance().getTimeInMillis();
    		response.setContentType("application/vnd.ms-excel;charset=utf-8");
            response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".xls").getBytes(), "iso-8859-1"));
            //根据传进来的file对象创建可写入的Excel工作薄  
            OutputStream os = response.getOutputStream();  
    			WritableWorkbook wwb = null;
    			try {
    				// 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
    
    				wwb = Workbook.createWorkbook(os);
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    			if (wwb != null) {
    				// 创建一个可写入的工作表
    				// Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
    				WritableSheet ws = wwb.createSheet(title, 1);
    
    				// 下面开始添加单元格
    				for (int row = 0; row < titles.length; row++) {
    					// System.out.println(row);
    					for (int j = 0; j < titles[row].length; j++) {
    						// 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
    						Label labelC = new Label(j, row, titles[row][j]);
    
    						try {
    							// 将生成的单元格添加到工作表中
    							ws.addCell(labelC);
    						} catch (RowsExceededException e) {
    							e.printStackTrace();
    						} catch (WriteException e) {
    							e.printStackTrace();
    						}
    					}
    				}
    
    				try {
    					// 从内存中写入文件中
    					wwb.write();			 
    					// 关闭资源,释放内存
    					wwb.close();
    					os.flush();
    					os.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				} catch (WriteException e) {
    					e.printStackTrace();
    				}
    			}
    			return fileName;
    		}
    	
    
    	
    	public static String[][] changeToArray(ArrayList<String[]> contentsArrayList) {
    		String[][] contents = new String[contentsArrayList.size()][];
    		for (int i = 0; i < contentsArrayList.size(); i++) {
    			contents[i] = contentsArrayList.get(i);
    		}
    		return contents;
    	}


    关键步骤在于

    1.传入response

    2.设置response的头部文件类型和 把工作簿写入 response的 outputStream中即可。无需特意返回response。

    response.setContentType("application/vnd.ms-excel;charset=utf-8");
    response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".xls").getBytes(), "iso-8859-1"));
            //根据传进来的file对象创建可写入的Excel工作薄  
            OutputStream os = response.getOutputStream();  
    WritableWorkbook wwb = null;
    try {
               首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
    wwb = Workbook.createWorkbook(os);


    ps: jsp中请求的action 记得要return null,因为 已经包含了 文件流的response。


    如果不是return null的话则会冲突报错。





    优化



    jsp页面 使用js    提交 post  form

        $(document).ready(function() {    
        	var $searchForm = $('#search_form').on('submit',function(){
            	$dt.DataTable().searchEx( {} ).draw();
            	return false;
            }).on('click', 'button.export', function(){ 
            var searchData={};
            searchData.search=$('#search_form').formGet();  
              console.log(searchData);
               post('/order/list/export',searchData);        	
            });
                  
                  
          function post(URL, PARAMS) {        
            var temp = document.createElement("form");        
            temp.action = URL;        
            temp.method = "post";        
            temp.style.display = "none";        
            for (var x in PARAMS.search) {        
               var opt = document.createElement("textarea"); 
               if(x=="id"||x=="expressNumber"||x=="payStatus"){      
                 opt.name = x;        
                 opt.value = PARAMS.search[x];
                 temp.appendChild(opt);  
               }       
            }        
            document.body.appendChild(temp);        
            temp.submit(); 
          }  
    }




    controller.class接收

    @RequestMapping("/product-upgrade/list/export")
        public void export(HttpServletRequest request, HttpServletResponse response) {
            Map<String, String> search = new HashMap<>();
            Enumeration<String> parameterNames = request.getParameterNames();
            while (parameterNames.hasMoreElements()) {
                String key = parameterNames.nextElement();
                search.put(key, request.getParameter(key));
            }
            Query query = new Query();
            Criteria criteria = new Criteria();
            criteria.and("upgradeList").exists(true);
            if (!StringUtils.isBlank(search.get("mobile")))
                criteria.and("mobile").is(search.get("mobile"));
            if (!StringUtils.isBlank(search.get("payStatus")))
                criteria.and("payStatus").is(Integer.parseInt(search.get("payStatus")));
    
            if (!StringUtils.isBlank(search.get("upgradeStatus"))) {
            	if("0".equals(search.get("upgradeStatus"))) {
            		  criteria.orOperator(Criteria.where("upgradeStatus").exists(false), Criteria.where("upgradeStatus").is(0));
            	}else {
                criteria.and("upgradeStatus").is(Integer.parseInt(search.get("upgradeStatus")));
            	}
            } 
       
            if (!StringUtils.isEmpty(search.get("beginTime"))
                    || !StringUtils.isEmpty(search.get("endTime"))) {
                criteria = criteria.and("createDate");
                if (!StringUtils.isEmpty(search.get("beginTime")))
                    criteria.gte(DateUtils.parse(search.get("beginTime")));
                if (!StringUtils.isEmpty(search.get("endTime")))
                    criteria.lte(DateUtils.parse(search.get("endTime")));
    
            }
            query.addCriteria(criteria);
            query.with(new Sort(Sort.Direction.DESC, "createDate"));
            List<Order> list = mongoTemplate.find(query, Order.class);
            exportProductUpgradeOrder(list, response);
        }
    
    
    
    
    
    @Override
        public boolean exportProductUpgradeOrder(List<Order> orders, HttpServletResponse response) {
            try {
     
                ArrayList<String[]> contentsArrayList = new ArrayList<>();
                String[] titles = new String[]{
                        "订单编号", "订单名称", "唾液盒编号", "手机", "总金额", "在线支付",
                        "支付状态", "升级状态", "创建时间", "升级备注"};
    
                Boolean[] titleNumFlags = new Boolean[]{
                        false, false, false, false, true, true,
                        false, false, false, false};// 是否是数值型的标识
    
                contentsArrayList.add(titles);
                for (Order order : orders) {
                    String[] content = new String[titles.length];
                    content[0] = order.getId();
                    content[1] = order.getOrderName();
                    content[2] = order.getUpgradeList().get(0).getBarcode();
                    content[3] = order.getMobile();
                    content[4] = String.valueOf(order.getTotalMoney());
                    content[5] = String.valueOf(order.getPayMoney());
                    content[6] = order.getPayStatus() == Order.PAY_UNPAY ? "未付款" : "已付款";
                    content[7] = order.getUpgradeStatus() == 1 ? "已处理" : "未处理";
                    content[8] = order.getCreateDate();
                    content[9] = order.getUpgradeRemark();
                    contentsArrayList.add(content);
                }
                ExcelUtils.writeExcel(ExcelUtils.changeToArray(contentsArrayList), "导出", response, titleNumFlags);
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }





    ExcelUtils.class

    package com.mofang.util;
    
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.Calendar;
    
    import javax.servlet.http.HttpServletResponse;
    
    import jxl.Workbook;
    import jxl.write.Label;
    import jxl.write.WritableSheet;
    import jxl.write.WritableWorkbook;
    import jxl.write.WriteException;
    
    /**
     * ExcelUtils 导出excel
     * 
     * @author joe
     * 
     */
    public class ExcelUtils {
    
        /**
         * 生成一个Excel文件
         * 
         * @param title 工作表的名称
         * @param titles 工作表的内容
         */
    
        public static String writeExcel(String[][] titles, String title,
                HttpServletResponse response, Boolean[] titleNumFlags)
                throws IOException {
            String fileName = title + Calendar.getInstance().getTimeInMillis();
            response.setContentType("application/vnd.ms-excel;charset=utf-8");
            response.setHeader("Content-Disposition", "attachment;filename="
                    + new String((fileName + ".xls").getBytes(), "iso-8859-1"));
            // 根据传进来的file对象创建可写入的Excel工作薄
            OutputStream os = response.getOutputStream();
            WritableWorkbook wwb = null;
            try {
                // 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
    
                wwb = Workbook.createWorkbook(os);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (wwb != null) {
                // 创建一个可写入的工作表
                // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
                WritableSheet ws = wwb.createSheet(title, 1);
                jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#0.00"); // 设置数字格式
                jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(
                        nf); // 设置表单格式
                // 下面开始添加单元格
                for (int row = 0; row < titles.length; row++) {
                    // System.out.println(row);
                    for (int j = 0; j < titles[row].length; j++) {
                        if (titleNumFlags[j]) {// 当数值型时先转换成double
                            try {
                                double titlesDoubleValue = Double
                                        .parseDouble(titles[row][j]);
                                ws = writeNumberToWs(ws, wcfN, row, j,
                                        titlesDoubleValue);
                            } catch (Exception notnum) {
                                String titlesStringValue = titles[row][j];
                                // 这里需要注意的是,在Excel中,j表示列,row表示行
                                ws = writeStringToWs(ws, row, j, titlesStringValue);
                            }
                        } else {
                            String titlesStringValue = titles[row][j];
                            // 这里需要注意的是,在Excel中,j表示列,row表示行
                            ws = writeStringToWs(ws, row, j, titlesStringValue);
                        }
                    }
                }
    
                try {
                    // 从内存中写入文件中
                    wwb.write();
                    // 关闭资源,释放内存
                    wwb.close();
                    os.flush();
                    os.close();
                } catch (IOException | WriteException e) {
                    //e.printStackTrace();
                }
            }
            return fileName;
        }
    
        private static WritableSheet writeNumberToWs(WritableSheet ws,
                jxl.write.WritableCellFormat wcfN, int row, int j,
                double titlesDoubleValue) {
            jxl.write.Number labelNF = new jxl.write.Number(j, row,
                    titlesDoubleValue, wcfN); // 格式化数值
            try {
                ws.addCell(labelNF);
            } catch (WriteException e1) {
                e1.printStackTrace();
            }
            return ws;
        }
    
        private static WritableSheet writeStringToWs(WritableSheet ws, int row,
                int j, String titlesStringValue) {
            Label labelC = new Label(j, row, titlesStringValue);
            try {
                // 将生成的单元格添加到工作表中
                ws.addCell(labelC);
            } catch (WriteException e) {
                e.printStackTrace();
            }
            return ws;
        }
    
        public static String[][] changeToArray(ArrayList<String[]> contentsArrayList) {
            String[][] contents = new String[contentsArrayList.size()][];
            for (int i = 0; i < contentsArrayList.size(); i++) {
                contents[i] = contentsArrayList.get(i);
            }
            return contents;
        }
    
    }
    










    桌面程序-swing弹出

    swing只会在服务器中弹出,多用于 桌面程序-----如果用在web中则 在页面点击时,选择框在服务器弹出。

    swing

    public static String writeExcel(String[][] titles, String title) {
    
    		String fileName = "";
    		JFileChooser dialog = new JFileChooser();
    		dialog.setDialogTitle("保存文件");
    		dialog.setFileSelectionMode(JFileChooser.FILES_ONLY);
    		FileSystemView fsv = FileSystemView.getFileSystemView();
    		System.out.println(fsv.getHomeDirectory()); // 得到桌面路径
    		dialog.setCurrentDirectory(fsv.getHomeDirectory()); // 设置默认保存路径为桌面路径
    		// dialog.setDialogType(JFileChooser.SAVE_DIALOG);
    		dialog.setSelectedFile(new File("订单列表"
    				+ Calendar.getInstance().getTimeInMillis() + ".xls")); // 设置默认文件名
    		dialog.setFileFilter(new TextFileFilter("*.xls", "文本文档(*.xls)"));
    		int result = dialog.showSaveDialog(dialog);
    		if (result == JFileChooser.APPROVE_OPTION) {
    			File file = dialog.getSelectedFile();
    			fileName = file.getAbsolutePath(); // 得到文件全名
    
    			WritableWorkbook wwb = null;
    			try {
    				// 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
    
    				wwb = Workbook.createWorkbook(new File(fileName));
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    			if (wwb != null) {
    				// 创建一个可写入的工作表
    				// Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
    				WritableSheet ws = wwb.createSheet(title, 1);
    
    				// 下面开始添加单元格
    				for (int row = 0; row < titles.length; row++) {
    					// System.out.println(row);
    					for (int j = 0; j < titles[row].length; j++) {
    						// 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
    						Label labelC = new Label(j, row, titles[row][j]);
    
    						try {
    							// 将生成的单元格添加到工作表中
    							ws.addCell(labelC);
    						} catch (RowsExceededException e) {
    							e.printStackTrace();
    						} catch (WriteException e) {
    							e.printStackTrace();
    						}
    					}
    				}
    
    				try {
    					// 从内存中写入文件中
    					wwb.write();
    					// 关闭资源,释放内存
    					wwb.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				} catch (WriteException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    		return fileName;
    	}



    展开全文
  • 我就废话多说,看代码! import numpy as np import matplotlib.pyplot as plt ...导出文件 保存图片 plt.savefig(‘./66.png’) 以上直接保存的方式打开图片呈现空白,解决方案:使用fig=plt.
  • 使用java后台将数据导出为excel文件

    万次阅读 热门讨论 2017-08-31 16:51:03
    本文主要讲的是怎么使用java将数据导出为excl文件。...得到数据(跟前台查询到的数据一致,这里我演示的查询出来的数据为一个list对象集合),再生成excl文件(数据在文件里面,文件名称,位置,内容,都可更改)。
  • 2、把数据库里面的符合查询条件的数据显示在页面上 3、点击导出按钮,把数据导出到excel表格里面 来看一下我的效果 根据日期范围查询云数据库 云开发中查询某个时间范围,也就是大于或等于某个时间,小于...
  • 曾经导出为 .html 作为替代方案,但是手机上又不是很好打开,关键是导出为 .html 图片会无法正常显示。今天研究出了一个比较流氓的解决方案:用浏览器直接保存为PDF(而且亲测__谷歌浏览器__的效果最好)。 我的...
  • GERBER 文件,BOM对于导出 PDF 文档,多人分析时,能保证所有的电脑都安装有 AD10 软件,这个也很有必要,同时有利于数据备份存储。GERBER 文件,主要是生产加工用的,对于加工厂,有些厂方负责导出 Gerber 文件,...
  • asp.net中怎么把gridview中的数据写入一个文件,再保存到桌面 还有文件中的数据怎么上传到gridview中
  • linux下csv导出文件中文乱码问题

    千次阅读 2017-06-07 15:28:00
    近日服务器端通过导出csv文件,将数据从linux服务器端保存到windows桌面端,以便用户可以通过excel打开使用数据。 但是使用excel打开csv文件时,出现了中文乱码的情况,但是使用记事本打开没有问题。 经过...
  • Win10桌面背景(壁纸)导出工具

    千次阅读 2019-02-27 14:58:07
    导出Windows10的桌面背景(壁纸),一键操作。 基本思路: 1、找到存放桌面动态壁纸的目录: C:\Users\[用户名]\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\L...
  • eclipse如何导入和导出项目文件

    千次阅读 2020-11-19 17:07:53
    eclipse如何导入和导出项目文件 一.导入项目文件 1.点击点击File—Import 2.展开General,找到Existing Projects into Workspace—next 3.Select root direction里选择需要导入的文件路径 (我的项目都放在F:\eli...
  • ubuntu终端mysql数据库导出sql文件

    千次阅读 2018-08-23 20:22:47
    3.ubuntu终端切换到导出的路径, 一般导出桌面方便 4.输入导出指令 主要的导出语法 使用 mysqldump 命令 完成 语法:mysqldump –uroot –p(注意不要输入密码) 要导出的数据库名 要导出的数据表 … &gt; ...
  • Ubuntu18.04 装系统 不显示鼠标,完成后 桌面不显示鼠标,已解决 欢迎使用Markdown编辑器 简单回答:显示驱动的问题,把NVIDIA驱动安装上就好了。 如何更新NVIDIA呢? 0:必须要联网 1:点击桌面左下角。(因为...
  • Eclipse导出的jar包无法显示图片?

    千次阅读 2018-04-30 23:17:35
    用java开发桌面应用程序时(虽然现在很少有人用),如果将项目导出成jar包而项目中包含图片等资源时,可能会无法正确加载这些资源。这主要是因为jar包是一个单独的文件而非文件夹,绝对可能通过 “file:/e:/…/...
  • MySQL导入导出数据库文件

    千次阅读 2013-04-10 08:57:40
    MySQL导入导出.sql文件: 步骤如下:  一.MySQL的命令行模式的设置:   桌面->我的电脑->属性->环境变量->新建->  PATH=“;path\MySQL\bin;”其中path为MySQL的安装路径。  二.简单的介绍一下命令行...
  • Wijmo 是用于创建桌面和移动Web应用程序的HTML5... 2013 v3 版中 SpreadJS 开始支持 Excel 文件的导入导出。SpreadJS 可以使用 Excel ExcelIO 服务来和Excel文件交互。ExcelIO服务需要部署到服务端,通过 ExcelIO ...
  • 这时我们需要一定的方法将经纬度显示出来。目前所知道的有两种方式 1)arcgis的toolbox中Add XY...这个工具可以自动帮忙添加经纬度两列信息,但是使用该工具容易出现图层处于可编辑状态而能成功,或是得到合理
  • 命令行模式下 MYSQL导入导出.sql文件的方法 一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。 二.简单的介绍一下命令行进入MYSQL...
  • 如果你的程序开发已经接近尾声了,正准备将其生成桌面可执行文件知道该如何操作时,你只要按照以下步骤实行即可:选中你的项目---然后右击弹出选项列表---选择Export---Java---jar file---next---browser(选择...
  • plsql中如何导出一张表?

    万次阅读 2018-07-19 14:55:16
    1 在桌面建立对应的sql空文件 2 toos--&gt;export userObjects 3 对话框中选择你要导出的表 4 勾选上singleFile同时勾选掉include*的选项 5 点击黄色的文件夹按钮浏览文件找到之前创建的sql文件 6 点击...
  • MYSQL导入导出.sql文件

    千次阅读 2011-10-17 22:14:18
    桌面->我的电脑->属性->环境变量->新建-> PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。 二.简单的介绍一下命令行进入MYSQL的方法: 1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入...
  • IOS 生成LOG文件导出

    千次阅读 2013-04-10 13:45:28
    IOS的测试阶段,对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,并设置成共享文件,这样才能取出分析。  首先是日志输出,分为c的printf和标准的NSLog输出,printf会向...
  • mysql导入sql文件:Mysql导入导出.sql文件步骤如下: 一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=“;path/mysql/bin;”其中path为MYSQL的安装路径。 二.简单的介绍一下命令行进入...
  • 一、创建文件导出的工具类 package io.renren.modules.generator.WeiXinUtil; import org.apache.poi.hssf.usermodel.*; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang...
  • 一、导出jar文件: 如果你的程序开发已经接近尾声了,正准备将其生成桌面可执行文件知道该如何操作时,你只要按照以下步骤实行即可:选中你的项目---然后右击弹出选项列表---选择Export---Java-

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,372
精华内容 10,548
关键字:

导出的文件不在桌面显示