精华内容
下载资源
问答
  • 今天来小小提一下base64,我们有时候会遇到base64转码这个问题,迷惑行为,先写了正常我们用python base64这个模块然后再自己重写了一个方法,主要今天看一个老师学习他的网课,很有收获,希望对大家也有点帮助,...

    今天来小小提一下base64,我们有时候会遇到base64转码这个问题,迷惑行为,先写了正常我们用python base64这个模块然后再自己重写了一个方法,主要今天看一个老师学习他的网课,很有收获,希望对大家也有点帮助,主要是思路逻辑这块。
    毕竟在爬虫有时候url会遇到base64转码问题。

    import base64
    Num="asdc" #原字符串
    byteNum=(bytes(Num,encoding="utf-8"))#原字符串进行转换为byte类型
    b64Num=base64.b64encode(byteNum)#原字符串byte 用b64转换成 byte
    print(b64Num)
    # print(b64Num)  b'YWJj'
    # print(b64Num.decode())  YWJj  经过b64加密的字符串
    x=str(b64Num,encoding="utf-8")#将b64转换成的byte用utf-8解码成字符串,一般我们需要把这个字符串通过b64解密转为真正需要的的信息
    # print(x)  #YWJj
    x1=base64.b64decode(x.encode("utf-8"))#先把x进行utf-8编码再通过b64进行解码
    # print(x1)   b'abc'
    # print(x1.decode(encoding="utf-8"))#得到原字符串
    
    # 上面一般就差不多啦
    # 下面有兴趣可以看看
    # 自定义一个函数对b64.b64encode()进行描述加深理解
    # b64编码先把3字节转为4字节然后再进行转码,就是一个字节8位二进制 然后3*8/4得到4个6位的二进制 然后每个6位二进制末位(最高位)后面添两个00重新得到4个8位的二进制这样就是得到四个字节,而除不尽的我们代码中一步步解释
    def b64encode(_src):#传入的是一个字节
        ret=bytearray()
        b64=b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
        length=len(_src)
        for offset in range(0,length,3):#该循环是为了将_src每三个字节进行划分
            triple=_src[offset:offset+3]
            r=3-len(triple)
            if r:#r==0就不执行,用来判断最后一次切分是否是三个字节
                triple+=b"\x00"*r
            x=int.from_bytes(triple,"big")#把byte数字转为int类型数字为下一步位右移做准备
            # print(x)
            for i in range(18,-1,-6):
                index=x>>i & 0x3F #先进行右移然后位运算得到前六位
                ret.append(b64[index])
            if r:#该步骤把最后全部无效的字节及8位全部为补充的字节替换成=
                ret[-r:]=b"="*r
        return bytes(ret)
    print(b64encode(byteNum))
    
    

    最后附上base64编码表
    还是想说那个网课老师这个讲的真好,以后我有收获都会分享。
    无需关注,点赞即可,嘿嘿,我要的好少
    在这里插入图片描述

    展开全文
  • 怎么数据库数据编程Excel表格

    千次阅读 2018-04-05 11:50:57
    数据库数据在后台生成表格数据,在前端页面下载 ...一般来说生成Excel表的生成格式是比较固定的,基本就是和我们平时在电脑上做Excel表差不多。 主要步骤为: 创建表格 生成表头(列名生成出来) ...

    将数据库数据在后台生成表格数据,在前端页面下载

    xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多IT、编程案例请联系QQ:1280023003

    百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!


    一般来说生成Excel表的生成格式是比较固定的,基本就是和我们平时在电脑上做Excel表差不多。

    主要步骤为:

    • 创建表格
    • 生成表头(将列名生成出来)
    • 在表格中插入数据
    • 编写一个浏览器下载这个表格的方法

    一下为源码

    public void downloadExcel(List<Object> list) throws IOException {
    
            if (list == null) {
                return;
            } else if (list.size() == 1) {
                return;
            }
    
            // 得到结果,生成Excel文件
            HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
            HSSFSheet sheet = hssfWorkbook.createSheet("表格数据");
            // 生成表头
            HSSFRow headRow = sheet.createRow(0);
            headRow.createCell(0).setCellValue("表格列1");
            headRow.createCell(1).setCellValue("表格列2");
            headRow.createCell(2).setCellValue("表格列3");
            headRow.createCell(3).setCellValue("表格列4");
            headRow.createCell(4).setCellValue("表格列5");
            headRow.createCell(5).setCellValue("表格列6");
            headRow.createCell(6).setCellValue("表格列7");
    
            // 将数据插入表中
            for (Object obj : list) {
                HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
                dataRow.createCell(0).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(1).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(2).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(3).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(4).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(5).setCellValue("obj对象的对应列名属性");
                dataRow.createCell(6).setCellValue("obj对象的对应列名属性");
            }
    
            // 通过浏览器下载导出
            // 设置表头信息
            ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");
            String filename = "表格数据.xls";
            String agent = ServletActionContext.getRequest().getHeader("user-agent");
            filename = FileUtils.encodeDownloadFilename(filename, agent);
            ServletActionContext.getResponse().setHeader("Content-Disposition", "attachment;filename=" + filename);
    
            ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
            hssfWorkbook.write(outputStream);
    
            // 关闭
            hssfWorkbook.close();
        }
    
    
    //下载浏览器识别工具类一个
    package com.echo.maven.utils;
    
    import java.io.IOException;
    import java.net.URLEncoder;
    
    import sun.misc.BASE64Encoder;
    
    public class FileUtils {
            /**
             * 下载文件时,针对不同浏览器,进行附件名的编码
             * 
             * @param filename
             *            下载文件名
             * @param agent
             *            客户端浏览器
             * @return 编码后的下载附件名
             * @throws IOException
             */
            public static String encodeDownloadFilename(String filename, String agent)
                    throws IOException {
                if (agent.contains("Firefox")) { // 火狐浏览器
                    filename = "=?UTF-8?B?"
                            + new BASE64Encoder().encode(filename.getBytes("utf-8"))
                            + "?=";
                    filename = filename.replaceAll("\r\n", "");
                } else { // IE及其他浏览器
                    filename = URLEncoder.encode(filename, "utf-8");
                    filename = filename.replace("+"," ");
                }
                return filename;
            }
    }
    
    
    展开全文
  • 如标题所言,ListCtrl的内容导出到Excel文件。不需要Excel环境支持!   TCHAR szFilter[] = _T("Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*||"); CFileDialog file(FALSE, _T(".xls"),...

     

    如标题所言,将ListCtrl的内容导出到Excel文件。不需要Excel环境支持!

     

    	TCHAR szFilter[] = _T("Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*||");   
    	CFileDialog file(FALSE, _T(".xls"), _T("TransForm"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);  
    
    	CString strSavePath = _T(""); //!<保存路径  
    	if(IDOK == file.DoModal())  
    	{  
    		strSavePath = file.GetPathName();  
    	}
    
    	//!<导出的xls文件路径
    	if (strSavePath != _T(""))
    	{
    		std::string szTitle = "TransForm";
    		std::string szHander = "";
    		szHander = "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets>";
    		szHander = szHander + "<x:ExcelWorksheet><x:Name>" + CFunLib::MakeSafeHTMLText(szTitle) 
    			+ "</x:Name><x:WorksheetOptions><x:Print><x:ValidPrinterInfo /></x:Print></x:WorksheetOptions>";
    		szHander += "</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" /><style type=\"text/css\">td {mso-number-format:''\@'';}</style></head><body><div><table><tr>";
    
    		//!<html结束符号
    		std::string szEnd = "</table></div></body></html>";
    		std::string szTR = "<tr>";  
    		std::string	szEndTR = "</tr>";
    
    		CHeaderCtrl* pHeaderCtrl = m_lstResult.GetHeaderCtrl();
    		int nCloumn = pHeaderCtrl->GetItemCount(); ///列数
    		std::fstream file;
    		file.open(strSavePath, std::ios_base::out);
    		file.write(szHander.c_str(), szHander.length());
    
    		//!<写入标题行
    		std::string szFiled = "<td></td><td align=\"center\" valign=\"middle\" height=\"50\"><strong>" 
    			+ CFunLib::MakeSafeHTMLText(szTitle) + "</strong></td></tr><tr></tr>";
    		file.write(szFiled.c_str(), szFiled.length());
    		file.write(szTR.c_str(), szTR.length());
    
    		//!<根据列头写单元格
    		char szText[MAX_PATH] = {0};
    		LVCOLUMN LvColumn;
    		LvColumn.mask = LVCF_TEXT;
    		LvColumn.pszText = szText; //!<标题名称
    		LvColumn.cchTextMax = MAX_PATH;
    		for (int i = 0; i < nCloumn; ++i)
    		{
    			if(m_lstResult.GetColumnWidth(i) <= 0) continue; //!<如果列宽为0则视为隐藏
    			m_lstResult.GetColumn(i, &LvColumn);
    			szFiled = "<td>" + CFunLib::MakeSafeHTMLText(LvColumn.pszText) + "</td>";
    			file.write(szFiled.c_str(), szFiled.length());
    		}
    
    		file.write(szEndTR.c_str(), szEndTR.length());
    
    		CString strValue = _T("");
    		int nItemsCount = m_lstResult.GetItemCount(); //!<获取列表总行数
    		if (nItemsCount > 0)
    		{
    			for(int i = 0; i < nItemsCount; ++i) //!<一行一行的写,遍历行在外层循环
    			{
    				file.write(szTR.c_str(), szTR.length());
    				for (int j = 0; j < nCloumn; ++j)
    				{
    					if(m_lstResult.GetColumnWidth(j) <= 0) continue;
    					strValue = m_lstResult.GetItemText(i, j);
    					szFiled = "<td>" + CFunLib::MakeSafeHTMLText(strValue.operator LPCTSTR()) + "</td>";
    					file.write(szFiled.c_str(), szFiled.length());
    				}
    				file.write(szEndTR.c_str(), szEndTR.length());
    			}
    			file.write(szEndTR.c_str(), szEndTR.length());
    		}
    
    		file.close();
    
    
    		ShellExecute(NULL, _T("open"), strSavePath, NULL, NULL, SW_SHOW);
    	}

     

     

     

     

     

    std::string MakeSafeHTMLText(const std::string& v_szContent)
    {
    	std::string szResult = "";
    	for (int i = 0; i < v_szContent.length(); ++i)
    	{
    		char ch = v_szContent[i];
    		switch(ch)
    		{
    		case '<':
    			szResult += "<";
    		case '>':
    			szResult += ">";
    		case '&':
    			szResult += "&";
    		case '"':
    			szResult += """;
    		case '\'':
    			szResult += "'";
    			break;
    		default:
    			szResult += ch;
    			break;
    		}
    	}
    
    	return szResult;
    }

     

     

     

    展开全文
  • Spire.XLS for .NET是一款专业的 .NET Excel 组件, 它可以用在...Spire.XLS for .NET 提供了一个对象模型 Excel API,使开发人员可以快速地在 .NET 平台上完成对 Excel 的各种编程操作,如根据模板创建新的 Exce...

    Spire.XLS for .NET是一款专业的 .NET Excel 组件, 它可以用在各种 .NET 框架中,包括 .NET Core、ASP.NET 和 Windows Forms 等相关的 .NET 应用程序。Spire.XLS for .NET 提供了一个对象模型 Excel API,使开发人员可以快速地在 .NET 平台上完成对 Excel 的各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档以及对 Excel 文档进行转换。

    近日,Spire.XLS for .NET更新至v10.3.0,此版本主要修复了XLS转PDF/HTML及操作文档时出现的问题,最新版Spire.XLS for .NET下载

    Bug修复

    • 解决了数据标签文本颜色没有被设置成功的问题。
    • 解决了获取趋势线公式失败的问题。
    • 解决了XLS转HTML单元格宽度未保持一致的问题。
    • 解决了加载CSV抛NullReferenceException异常的问题。
    • 解决了公式值获取失败的问题。
    • 解决了转Excel到PDF括号格式不正确的问题。

    此版本修复了许多转换时的Bug问题,不如一起来回顾一下Spire.XLS的格式转换功能有哪些吧。

    整个Excel工作薄保存为PDF

    Workbook workbook = new Workbook();
    workbook.LoadFromFile("Test.xlsx");
    
    //将整个工作薄保存为PDF
    workbook.SaveToFile("WorkbookToPDF.pdf", Spire.Xls.FileFormat.PDF);

    Excel工作表转图片

    //初始化workbook实例
    Workbook workbook = new Workbook();
    
    //加载Excel文档
    workbook.LoadFromFile("Sample.xlsx");
    
    //获取第一个工作表
    Worksheet sheet = workbook.Worksheets[0];
    
    //将工作表保存为图片
    sheet.SaveToImage("ExceltoImage.png", ImageFormat.Png);

    Excel工作表中的图表转图片

    //初始化workbook实例
    Workbook workbook = new Workbook();
    
    //加载Excel文档
    workbook.LoadFromFile("Sample.xlsx");
    
    /获取第一个工作表
    Worksheet sheet = workbook.Worksheets[0];
    
    //将图表保存为图片
    Image[] imgs = workbook.SaveChartAsImage(sheet);
    
    for (int i = 0; i < imgs.Length; i++) { imgs[i].Save(string.Format("img-{0}.png", i), ImageFormat.Png); }

    将Excel中的图片以base64 string data嵌入到HTML中

    //加载Excel sample
    Workbook workbook = new Workbook();
    workbook.LoadFromFile("Sample.xlsx");
    
    //获取第一个Excel工作表
    Worksheet sheet = workbook.Worksheets[0];
    
    //嵌入Excel图片到HTML
    HTMLOptions options = new HTMLOptions();
    options.ImageEmbedded = true;
    
    //保存Excel到HTML
    sheet.SaveToHtml("Sample2.html",options);

    将Excel文档另存为HTML格式

    //加载Excel sample
    Workbook workbook = new Workbook();
    workbook.LoadFromFile("Sample.xlsx");
    
    //获取第一个Excel工作表
    Worksheet sheet = workbook.Worksheets[0];
    
    //保存Excel到HTML
    sheet.SaveToHtml("Sample.html");

    将 Excel 工作簿转换到 SVG 格式

    //创建workbook对象
     Workbook workbook = new Workbook(); 
     //加载文件
     workbook.LoadFromFile(@"ToSVGSample.xlsx");
     for (int i = 0; i < workbook.Worksheets.Count; i++) { FileStream fs = new FileStream(string.Format("result{0}.svg", i), FileMode.Create); //转换到SVG workbook.Worksheets[i].ToSVGStream(fs, 0, 0, 0, 0); fs.Flush(); fs.Close(); }

    将CSV转到Excel

    //初始化Workbook对象
    Workbook wb = new Workbook();
    
    //加载CSV文件
    wb.LoadFromFile("SampleCSVFile.csv", ",",1,1);
    
    //将第一个工作表命名为“导入Excel”
    wb.Worksheets[0].Name = "导入Excel";
    
    //转换为Excel文件
    wb.SaveToFile("toExcel.xlsx", ExcelVersion.Version2013);

    将CSV转到PDF

    //初始化Workbook对象
    Workbook wb = new Workbook();
    
    //加载CSV文件
    wb.LoadFromFile("SampleCSVFile.csv", ",",1,1);
    
    //将一个工作表的内容转换到一页PDF上
    wb.ConverterSetting.SheetFitToPage = true;
    
    //自动调整列宽使适应文字长度
    Worksheet sheet = wb.Worksheets[0];
    for (int i = 1; i < sheet.Columns.Length; i++) { sheet.AutoFitColumn(i); } //保存为PDF文件 sheet.SaveToPdf("toPDF.pdf");
    展开全文
  • 本程序主要用于游戏编程等相关项目中,产品人员使用excel设计数据之后直接相关数据生成sql,可以导入数据库 excel格式及相关的使用方法,请下载数据包http://download.csdn.net/download/wentianyao/9401274 该...
  • 一、介绍在平时的业务系统开发中,少不了需要用到导出、导入excel功能,今天我们就一起来总结一下,如果你正为此需求感到困惑,那么阅读完本文,你一定会有所收获!二、poi大概在很久很久以前...
  • 在读取Excel时遇到一个问题,那就是读取出来的单表出现了乱码的现象,我们可以看到很多汉字无法识别出来。 在存入时对字符编码进行指定: public void getHeader(string sheetName, List<string> ...
  • R包export可以轻松的R绘制的图和统计表输出到 Microsoft Office (Word、PowerPoint和Excel)、HTML和Latex中,其质量可以直接用于发表。你...
  • Excel VBA编程常用语句300句

    万次阅读 2011-10-28 12:04:41
    Excel VBA编程常用语句300句 ************** * VBA 语句集 * * (第 1 辑) * ************** **************** * 定制模块行为 * **************** (1) Option Explicit '强制对模块内所有变量进行声明 ...
  • 几条C#的Excel编程技巧

    2012-04-18 15:40:08
    这里我们介绍几条C#的Excel相关编程技巧 在办公的时候,正是由于Excel的这么多的优点,许多重要的数据,往往以Excel电子表格的形式存储起来。这样就给程序员带来了一个问题,虽然Excel功能比较强大,但毕竟...
  • Spire.XLS for .NET是一款专业的 .NET Excel 组件, 它可以用在...Spire.XLS for .NET 提供了一个对象模型 Excel API,使开发人员可以快速地在 .NET 平台上完成对 Excel 的各种编程操作,如根据模板创建新的 Exce...
  • DateTimeFormat 日期转换Date写到excel会调用这个注解。里面的value参照java.text.SimpleDateFormat。 NumberFormat 数字转换,用Number写excel会调用这个注解。里面的value参照java.text.DecimalFormat。 ...
  • 在进行数据预处理的时候,我们可能习惯于用于存储数据的其他格式的文件转换为.txt文件,因为这类文件读取、写入和处理起来都比较高效。 这里采用pandas模块来处理这个任务。 具体方法: 打开Anaconda prompt ...
  • Visual C#的Excel编程

    2007-10-10 20:14:00
    Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了许多用户的欢迎。在办公的时候,正是由于Excel的这么多的优点,许多重要的数据,往往以Excel电子表格的...
  • 背景:公司项目java开发使用swagger工具作为接口文档,每次设计接口测试用例的时候,先是设计好excel表头,然后再一步一步的ctrl+c\ctrl+v很多重复的工作,于是想使用python来解析接口返回的json对象数据,然后清洗...
  • 列举一些编程过程中常用代码,如Datatable转换Excel表格给用户下载,包含了生成Excel的方法,绝对路径转换相对路径的方法,替换Html标签的方法,Json数据转换为Datatable的方法
  • Excel之VBA编程常用语句300句

    千次阅读 2008-10-30 20:49:00
    Option Explicit 强制对模块内所有变量进行声明 Option Private Module 标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text 字符串不区分大小写 Option Base 1 指定...
  • 文本txt格式转excel

    2016-11-24 15:22:27
    Option Base 1 Sub 打开文本格式文件()  Dim myFileName As String  Dim myFI(256) As Variant  Dim i As Integer    myFileName = Application.GetOpenFilename("TXT格式(*.TXT),*.TXT,CSV格式(*.CSV)
  • C#的Excel编程

    2008-11-27 23:12:00
    微软视窗2000 服务器版 (2)..Net Framework SDK Beta 2 (3).Microsoft Data Access Component 2.6以上版本(MDAC2.6) (4).Office 2000套件二.Visual C#读取Excel表格中的数据: 本节通过一个程序来...
  • 使用POI导出图片到Excel中,Excel格式为xls /** * 说明:生成Excel格式为xls * 参数:output为输出文件路径 * 返回值:输出文件路径 */ public String setImgXls(String output) throws IOException { //...
  • 中国属于东八区 即 时间戳转换为日期后需要 +8hours (即格林尼治时间戳0秒的时候 我们已经有8个小时了) unix时间戳转日期 19700101 + 时间戳天数 + 8个小时对应的天数 这里8个小时就是东八区 +8hour =(unix...
  • 介绍 (Introduction) 大约一年前,我正在从事一个项目... 然后这些Excel工作簿放置在公共目录中,然后加载到Corporate SQL Server数据库中。 让我们看看如何实现这一目标。 简而言之,我们创建一个程序包,该程...
  • Visual C#的Excel编程

    2007-05-15 10:39:00
    Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了许多用户的欢迎。在办公的时候,正是由于Excel的这么多的优点,许多重要的数据,往往以Excel电子表格的...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    68 <br>0091 如何根据ASCII码获得字母 68 <br>0092 编程中经常使用的ASCII码 68 <br>0093 获得汉字的区位码 69 <br>0094 如何根据区位码获得汉字 69 <br>0095 如何行字符串转换为列字符串...
  • Excel VBA常用300句定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text ‘字符串不...
  • Excel编程

    千次阅读 2004-08-04 11:40:00
    Visual C#的Excel编程 作者:wyhw 发表时间:2003-5-11 推荐程度: ★ 查看作者信息以及作者文集 Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了...
  • 公众号后台回复“图书“,了解更多号主新书内容作者:朱小五来源:凹凸数据最近发现好多软件号写起了Excel文章,哈哈哈,这是咋啦?作为一个数据号,咱也分享一些Excel技巧吧。今天给大家介绍...
  • c# 的 Excel 编程

    2009-05-13 11:06:00
    Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了许多用户的欢迎。在办公的时候,正是由于Excel的这么多的优点,许多重要的数据,往往以Excel电子表格的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,722
精华内容 1,488
关键字:

编程将excel转换base64