Imports System.Xml
Imports System.Text
Public Class ExcelXmlWriter
Dim ssns As String = "urn:schemas-microsoft-com:office:spreadsheet"
Dim xmlns As String = "urn:schemas-microsoft-com:office:spreadsheet"
Dim _doc As New XmlDocument
Dim _currentSheet As XmlNode = Nothing
Dim _currentRow As XmlNode = Nothing
Public Sub New()
'excel的xml模版,你需要了解xml的Attributes怎么用
Dim sbody As New StringBuilder
sbody.Append("<?xml version=""1.0""?>" & vbCrLf)
sbody.Append("<?mso-application progid=""Excel.Sheet""?>" & vbCrLf)
sbody.Append("<Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet""" & vbCrLf)
sbody.Append("xmlns:o=""urn:schemas-microsoft-com:office:office""" & vbCrLf)
sbody.Append("xmlns:x=""urn:schemas-microsoft-com:office:excel""" & vbCrLf)
sbody.Append("xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet""" & vbCrLf)
sbody.Append("xmlns:html=""http://www.w3.org/TR/REC-html40"">" & vbCrLf)
sbody.Append("<Styles>" & vbCrLf)
sbody.Append("<Style ss:ID=""Default"" ss:Name=""Normal"">" & vbCrLf)
sbody.Append("<Alignment ss:Vertical=""Center""/>" & vbCrLf)
sbody.Append("<Borders/>" & vbCrLf)
sbody.Append("<Font ss:FontName=""宋体"" x:CharSet=""134"" ss:Size=""10""/>" & vbCrLf)
sbody.Append("<Interior/>" & vbCrLf)
sbody.Append("<NumberFormat/>" & vbCrLf)
sbody.Append("<Protection/>" & vbCrLf)
sbody.Append("</Style>" & vbCrLf)
sbody.Append("</Styles>" & vbCrLf)
sbody.Append("</Workbook>" & vbCrLf)
_doc.LoadXml(sbody.ToString())
End Sub
'''<summary>
''' 增加一个工作表
'''</summary>
''' <param name="sheetName">工作表名称</param>
Public Sub CreateSheet(ByVal sheetName As String)
Dim node As System.Xml.XmlNode = _doc.CreateNode(XmlNodeType.Element, "Worksheet", ssns)
Dim xa As System.Xml.XmlAttribute = _doc.CreateAttribute("ss", "Name", xmlns)
xa.Value = sheetName
node.Attributes.Append(xa)
_doc.ChildNodes(2).AppendChild(node)
node.AppendChild(_doc.CreateNode(XmlNodeType.Element, "Table", xmlns))
_currentSheet = node
End Sub
'''<summary>
'''增加一行
'''</summary>
Public Sub CreateRow()
Dim node As System.Xml.XmlNode = _doc.CreateNode(XmlNodeType.Element, "Row", xmlns)
_currentSheet.ChildNodes(0).AppendChild(node)
_currentRow = node
End Sub
'''<summary>
'''增加一列
'''</summary>
'''<param name="index">索引</param>
'''<param name="width">宽度</param>
Public Sub CreateColumn(ByVal index As Integer, ByVal width As Single)
Dim node As System.Xml.XmlNode = _doc.CreateNode(XmlNodeType.Element, "Column", xmlns)
Dim xa As System.Xml.XmlAttribute = _doc.CreateAttribute("ss", "Index", xmlns)
xa.Value = index.ToString()
node.Attributes.Append(xa)
xa = _doc.CreateAttribute("ss", "Width", xmlns)
xa.Value = width.ToString()
node.Attributes.Append(xa)
_currentSheet.ChildNodes(0).AppendChild(node)
End Sub
'''<summary>
'''增加一个单元格
'''</summary>
'''<param name="value">值</param>
'''<param name="Type">类型</param>
'''<param name="Expression">公式</param>
'''<param name="rowSpan">跨行</param>
'''<param name="colSpan">跨列</param>
Public Sub CreateCell(ByVal value As Object, ByVal type As String, ByVal expression As String, ByVal rowSpan As Integer, ByVal colSpan As Integer)
Dim xa As System.Xml.XmlAttribute = Nothing
Dim nodeCell As System.Xml.XmlNode = _doc.CreateNode(XmlNodeType.Element, "Cell", xmlns)
_currentRow.AppendChild(nodeCell)
If (Not String.IsNullOrEmpty(Expression)) Then
xa = _doc.CreateAttribute("ss", "Formula", xmlns)
xa.Value = "=" + expression
nodeCell.Attributes.Append(xa)
End If
colSpan -= 1
If (colSpan > 0) Then
xa = _doc.CreateAttribute("ss", "MergeAcross", xmlns)
xa.Value = colSpan.ToString()
nodeCell.Attributes.Append(xa)
End If
rowSpan -= 1
If (--rowSpan > 0) Then
xa = _doc.CreateAttribute("ss", "MergeDown", xmlns)
xa.Value = rowSpan.ToString()
nodeCell.Attributes.Append(xa)
End If
Dim nodeData As System.Xml.XmlNode = _doc.CreateNode(XmlNodeType.Element, "Data", xmlns)
xa = _doc.CreateAttribute("ss", "Type", xmlns)
xa.Value = type
nodeData.Attributes.Append(xa)
nodeData.InnerText = value.ToString()
nodeCell.AppendChild(nodeData)
End Sub
'''<summary>
'''增加一个数字单元格
''' </summary>
''' <param name="value"></param>
Public Sub CreateCellNumber(ByVal value As Double)
CreateCell(value, "Number", Nothing, 1, 1)
End Sub
''' <summary>
''' 增加一个字符串单元格
''' </summary>
''' <param name="value"></param>
Public Sub CreateCellString(ByVal value As String)
CreateCell(value, "String", Nothing, 1, 1)
End Sub
''' <summary>
''' 保存
''' </summary>
''' <param name="strFile"></param>
Public Sub Save(ByVal strFile As String)
_doc.Save(strFile)
End Sub
End Class
等级:
上一片文章演示了如何根据简单的excel文件结构直接生成xls文件,如果涉及到合并,公式之类的复杂操作,可以使用xml结构来直接构造xls文件,比如生成如下所示文件上图中D列和E列为公式,第4行为公式合计,7、8行为...
通过excel可识别的xml结构直接生成xls文件上一片文章演示了如何根据简单的excel文件结构直接生成xls文件,如果涉及到合并,公式之类的复杂操作,可以使用xml结构来直接构造xls文件,比如生成如下所示文件上图中D列和...
本人在一次工作中需要将下载的民生银行流水上传至服务器,但发现下载下来的民生银行excel流水文件不是正常的xls文件,导致poi-workbook不能成功读取,所以撰写此工具类进行格式转换,数据录入,特此记录 package ...
最近项目需要导出一个复杂的excel,发现无论是使用 poi 还是阿里巴巴的 easyexcel 这种...freemarker 标签绑定数据,但是导出的 excel 文件其实还是文本格式的 xml文件,知识 office 可以识别而已,怎么生成 真正意义...
什么是XMLXML是可扩展标记语言(eXtended Markup Language)的缩写。对于网页来说,XML是标准的设想,目标是容易搜索网页中的信息。其原理是对信息添加描述性的“标记(tags)”,使信息容易查找和分类。例如,所有的...
在实际的项目过程中获取数据的路径很多 可以通过用户输入 扫描器等等方式 今天要总结的是通过上传excel文件 然后解析文件来进行数据录入 或者生成模板以及将数据以excel文件的方式导出。 我们要使用到第三方jar 我...
之前开始接触idea开发时,就遇见了mapper.xml和spring.xml等文件无法加载,原因是资源文件没有被编译进war包。当时处理的方法是在pom.xml中加上了一下代码:<build> <resources> &...
一)poi简介 Apache POI项目是用于基于...XSSF是Microsoft Excel XML(2007+)文件格式(OOXML)操作的纯Java API。 SS是一个使用通用API为两种格式提供通用支持的软件包。它们都支持读写功能。 HSSF和XSSF ..
HSSFWorkbook用于Excel2003版本以上 SXSSFWorkbook用于Excel2007版本以上 只需要在Workbook加HSSF前缀即可,HSSFWorkbook对象兼容Excel2003及以上版本:
日后备忘有空来研究下office的xml格式吧http://www.myhelen.cn/article/636.htmphp创建word http://blog.csdn.net/jinjazz/archive/2008/08/04/2766356.aspx近身剪大哥的关于不用安装excel直接生成excel的文章 ...
matlab导入数据有2中方式,一种是在命令行通过代码把数据导进去;另一种是通过matlab的数据导入向导导入。下面分布介绍这两种方法: 一、使用matlab数据导入向导 1、先来看看txt文档中保存的数据结构,如图所示...
不管您是否相信,并不是每份文档一开始就是用 XML 写的。在这篇技巧文章中,解释了如何将数据从 Excel 文件中解放出来,并用 XML 来处理它们。然后比较了各种不同解决方案的优缺点。
Android中操作Excel文件的场合较少见,主要是一些专业领域导入导出报表时使用,所以处理Excel读写的开源代码也很稀缺。目前读写Excel主要采用开源库jxl,这个是韩国人写的excel操作工具,虽然最早用在java上,但也可...
调用Windows接口生成excel文件 引用“using System.Windows.Controls;” //新建一个对象save用以表示文件表 SaveFileDialog save = new SaveFileDialog(); //设置文件名,这里使用拼接方式 save.Defau
根据任意excel模版,将任意值填入到模版里面,然后生成pdf。(纯java实现) 支持多sheet页 举个例子: excel模版如下: 然后假如这里要将纳税人识号和税款所属期这个两个单元格的值写入我们想要的值 public class ...
基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,...2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。 如果导出中文时
需要对JasperReport Studio工具的了解,可以参考链接:...项目结构图: 该项目为Maven项目: pom.xml 如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...
*/ public HotArea readDoc(InputStream inputStream) { Document doc = null; HotArea root = new HotArea(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
Say someone sent you a Word document with a lot of images, and you want you to save those images on your hard drive. You can extract images from a Microsoft Office document with a simpletrick. ...
在这里插入代码片 /** poi操作excel ...@param filepath 文件路径 @param startrow 读取的开始行 @Result 返回一个二维数组(第一维放的是行,第二维放的是列表) @throws Exception */ public st...
之前看过一个ODK(Open Data kit),里面有一个需求就是得把excel转换成xml ,觉得一般不会很常用,有兴趣的人可以看一下 /** * 将excel转换成xml * * @param multipartFile * @return * @throws IOException ...
我相信很多人在做项目的都碰到过Excel数据导出的需求,我从最开始使用最原始的HTML拼接(将需要导出的数据拼接成TABLE标签)到后来happy的使用开源的NPOI, EPPlus等开源组件导出EXCEL,但不久前,我在一个项目碰到一...
最近做的工作有一部分需求
Xshell6与Xftp 中文版(最新版免密匙), Xshell6与Xftp 中文版(最新版免密匙), Xshell6与Xftp 中文版(最新版免密匙), Xshell6与Xftp 中文版(最新版免密匙)
notepad++是一个免费的、开放源码的文本和源代码编辑器。notepad++是用c++编程语言编写的,它以减少不必要的功能和简化过程而自豪,从而创建了一个轻便高效的文本记事本程序。实际上,这意味着高速和易访问的、用户友好的界面。 notepad++已经存在了将近20年,没有任何迹象表明它的受欢迎程度会下降。记事本绝对证明了你不需要投资在昂贵的软件来编写代码从舒适的自己的家。自己尝试一下,你就会明白为什么Notepad能坚持这么久。
Python实现自动化办公视频教程:Excel处理、PDF转换、Word和PPT自动生成、Web自动处理。
资源说明: 数据集主要包括6类图片:硬纸板、纸、塑料瓶、玻璃瓶、铜制品、不可回收垃圾 代码运行说明: 1、 安装运行项目所需的python模块,包括tensorflow | numpy | keras | cv2 2、 train.py用于训练垃圾分类模型,由于训练的数据量过于庞大,因此不一并上传 3、 predict.py用于预测垃圾的类别,首先运行predict.py,然后输入需要预测的文件路径,即可得到结果。
visio_2016下载安装,亲测可用,不需要破解,而且无秘钥。简单方便实用
优质简历模板,目前最前全的模板收藏,需要换工作的小伙伴们可以试试
四史答题软件安装包exe