GVKun编程网logo

Word文档与表格之间的相互转换(word文档与表格之间的相互转换怎么弄)

23

以上就是给各位分享Word文档与表格之间的相互转换,其中也会对word文档与表格之间的相互转换怎么弄进行解释,同时本文还将给你拓展byte与string之间的相互转换、byte数组与对象之间的相互转换

以上就是给各位分享Word文档与表格之间的相互转换,其中也会对word文档与表格之间的相互转换怎么弄进行解释,同时本文还将给你拓展byte与string之间的相互转换、byte数组与对象之间的相互转换、C#对象与XMl文件之间的相互转换、data和string类型之间的相互转换等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Word文档与表格之间的相互转换(word文档与表格之间的相互转换怎么弄)

Word文档与表格之间的相互转换(word文档与表格之间的相互转换怎么弄)

在日常办公过程中我们经常要将Word文档与表格之间相互转换来顺利完成我们的工作任务,但很多人都不是很清楚Word文档与表格之间的转换是怎么样进行的,下面笔者在这里来告诉大家怎么样实现Word文档与表格之间的转换。

一、将文本转换成表格

第一步:插入分隔符,以指示将文本分成列的位置。使用段落标记指示要开始新行的位置。

第二步:选择要转换的文本。

第三步:在;插入”选项卡上的;表格”组中,单击;表格”,然后单击;文本转换成表格”。

第四步:在;文本转换成表格”对话框的;文字分隔位置”下,单击要在文本中使用的分隔符对应的选项。

第五步:在;列数”框中,选择列数。如果未看到预期的列数,则可能是文本中的一行或多行缺少分隔符。

第六步:选择需要的任何其他选项。

二、将表格转换成文本

第一步:选择要转换成段落的行或表格。

第二步:在;表格工具”下的;版式”选项卡上的;数据”组中,单击;转换为文本”。

第三步:在;文字分隔位置”下,单击要用于代替列边界的分隔符 对应的选项。表格各行用段落标记分隔。

byte与string之间的相互转换

byte与string之间的相互转换

 

实现unsigned char 数组与string之间的相互转换

   1: #include <iostream>
   2: #include <string>
   3: #include <stdlib.h>
   4: 
   5: using namespace std;
   6: typedef unsigned char byte;
   7: 
   8: ////-------------------------------------------
   9: //// 将字符串类型转换为BYTE数组
  10: ////-------------------------------------------
  11: byte * HexStrToByte(string str_arr, byte byte_arr[])
  12: {
  13:     unsigned char ch1;
  14:     unsigned char ch2;
  15:     byte mybyte[str_arr.length() / 2];
  16:     int k = 0;
  17:     for (int i=0; i<str_arr.length(); i = i+2)
  18:     {
  19:         ch1 = str_arr.at(i);
  20:         ch2 = str_arr.at(i+1);
  21:         if (ch1>=48 && ch1 <= 57)
  22:         {
  23:             ch1 &= 0x0F;
  24:         }
  25:         if (ch1>=''A'' && ch1 <=''F'')
  26:         {
  27:             ch1 &= 0x0F;
  28:             ch1 += 0x09;
  29:         }
  30:         if (ch2 >= 48 && ch2 <= 57)
  31:         {
  32:             ch2 &= 0x0F;
  33:         }
  34:         if (ch2>=''A'' && ch2 <=''F'')
  35:         {
  36:             ch2 &= 0x0F;
  37:             ch2 += 0x09;
  38:         }
  39:         ch1<<=4;
  40:         byte_arr[k] =(byte)(ch1 + ch2);//int类型转byte类型,有问题
  41:         mybyte[k] = (byte)(ch1 + ch2);
  42:
  43:         k++;
  44:     }
  45:     return mybyte;
  46: }
  47: 
  48: ////-------------------------------------------
  49: //// 将BYTE数组转换为字符串类型
  50: ////-------------------------------------------
  51: string* byteToHexStr(byte byte_arr[], int arr_len)
  52: {
  53:     string* hexstr = new string;
  54:     for(int i=0; i<arr_len; i++)
  55:     {
  56:         char hex1;
  57:         char hex2;
  58:         int value = byte_arr[i];
  59:         int v1 = value/16;
  60:         int v2 = value % 16;
  61:         //将商转换为字母
  62:         if (v1>=0 && v1<=9)
  63:         {
  64:             hex1 = (char)(48 + v1);
  65:         }
  66:         else
  67:         {
  68:             hex1 = (char)(55 + v1);
  69:         }
  70:         //将余数转成字母
  71:         if (v2>=0 && v2<=9)
  72:         {
  73:             hex2 = (char)(48 + v2);
  74:         }
  75:         else
  76:         {
  77:             hex2 = (char)(55 + v2);
  78:         }
  79:         //将字母连成一串
  80:         *hexstr = *hexstr + hex1 + hex2;
  81:     }
  82:     return hexstr;
  83: }
  84: 
  85: int main()
  86: {
  87:     int size = 128;
  88:     byte temp[size];
  89:     int len = sizeof(temp) / sizeof(byte);
  90:     cout << "The length is : " << len << endl;
  91:     cout << "The temp is : " << temp << endl << endl;
  92:     cout << "-------------------" << endl;
  93:
  94:     for(int i = 0; i < len; i++)
  95:     {
  96:         temp[i] = i+1;
  97:     }
  98:
  99:     cout << temp << endl;
 100:     cout << "----------------------" << endl;
 101:     byte test[] =  {0x01, 0x01, 0x02, 0xe4, 0x71, 0x2b, 0x5f, 0x30};
 102:     cout << test << endl;
 103:     for(int i = 0; i < 8; i++)
 104:         cout << test[i] << " ";
 105:     cout << endl;
 106:     cout << "----------------------" << endl;
 107:
 108:
 109:     byte b[]={104,1,2,3,4,5,6,104,81,0,10,6,10,17,10,0,6,10,17,10,0,150,22};
 110:     //string s=System.Text.Encoding.Default.GetString(b);
 111:     int size1 = sizeof(b) / sizeof(byte);
 112:     string str = * byteToHexStr(b, size1);
 113:
 114:     cout << "The string length is : " << str.length() << endl;
 115:     cout << "The byte length is : " << sizeof(b)/sizeof(byte) << endl;
 116:     cout << "The string is : " << str << endl;
 117:
 118:     byte bs[size];
 119:     byte * bs2 = HexStrToByte(str, bs);
 120:     for(int i = 0; i < 23; i++)
 121:         cout << (int) bs[i] ;
 122:     cout << endl;
 123:
 124:     //byte bs[]=System.Text.Encoding.Default.GetBytes(s);
 125:     if(b == bs2)
 126:         cout << "The two byte are the same!" << endl;
 127:     else cout << "The two byte are not the same!" << endl;
 128:
 129:
 130:     return 0;
 131: }

byte数组与对象之间的相互转换

byte数组与对象之间的相互转换

byte数组转对象:

ByteArrayInputStream inputStream=new ByteArrayInputStream( 对象byte数组 );
ObjectInputStream oInputStream=new ObjectInputStream(inputStream);
Object obj=oInputStream.readObject();

将对象转化成byte数组

ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);
objectOutputStream.writeObject( 对象 );
byte[] data = outputStream.toByteArray();

C#对象与XMl文件之间的相互转换

C#对象与XMl文件之间的相互转换

C#提供三种序列化方式,分别为:
1、是使用BinaryFormatter进行串行化;

2、使用Soapformatter进行串行化;

3、使用XmlSerializer进行串行化。
其中对于BinaryFormatter的方式需要实现ISerializable接口,而XmlSeriializ不需要实现对应的接口,可以直接序列化。在这里面我们主要采用XMlSerialize来实现对应的序列化操作进而实现对应的对象和XMl文件之间的转换关系。

在通过序列化实现对应的转换关系操作的功能时,我首先创建了Department ,teams,Person三个对象,并设置了对应对象之间的关系,建立的三个对象以及他们之间的对应关系模型如下图所示:

对象的三者的代码为:

复制代码 代码如下:

public class Department
    {
        public Department()
        {
        }
        public string Name;
        public List<Team> Teams;
        public Team this[string Name]
        {
            get
            {
                Team t = null;
                foreach (Team te in Teams)
                {
                    if (string.Compare(te.Name,Name) == 0)
                    {
                        t = te;
                        break;
                    }
                }
                return t;
            }
        }
    }

  public  class Team
    {
        public Team()
        {

        }
        public Team(string Name,string Title)
        {
            this.Name = Name;
            this.Title = Title;
        }
        public string Name;
        public string Title;
        public List<Person> Persons;

    }

 public  class Person
    {
        public Person()
        {

        }
        public Person(string Name,int Age,string Hobby,string Station)
        {
            this.Name = Name;
            this.Age = Age;
            this.Hobby = Hobby;
            this.Station = Station;
        }
        public string Name;
        public int Age;
        public string Hobby;
        public string Station;
    }


基于以上三者的对应关系,编写对应的调用函数,实现对应的对象和XMl文件的转换,对应的实现转换的代码为:
复制代码 代码如下:

public static void Main()
      {
          Department dep =new Department();
          dep.Name ="事业部";
          dep.Teams =new List<Team>();
          dep.Teams.Add(newTeam("Test","测试团队"));
          dep.Teams.Add(newTeam("Develop","开发团队"));
          dep["Test"].Persons =new List<Person>();
          dep["Test"].Persons.Add(newPerson("dwf",22,"程序","测试工程师"));
          dep["Test"].Persons.Add(newPerson("WL","代码","测试工程师"));
          dep["Develop"].Persons.Add(newPerson("dwf","开发工程师"));
          dep["Develop"].Persons.Add(newPerson("WL","高级开发工程师"));

           XmlSerializer serializer =new XmlSerializer(dep.GetType());
          TextWriter writer =new StreamWriter("Department.xml");
          serializer.Serialize(writer,oSer);
          writer.Close();
      }

生成的XMl文件的格式为:
复制代码 代码如下:

<?xml version="1.0"encoding="utf-8"?>
<Department xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>事业部</Name>
  <Teams>
    <Team>
      <Name>Test</Name>
      <Title>测试团队</Title>
      <Persons>
        <Person>
          <Name>dwf</Name>
          <Age>22</Age>
          <Hobby>程序</Hobby>
          <Station>测试工程师</Station>
        </Person>
        <Person>
          <Name>WL</Name>
          <Age>22</Age>
          <Hobby>代码</Hobby>
          <Station>测试工程师</Station>
        </Person>
      </Persons>
    </Team>
    <Team>
      <Name>Develop</Name>
      <Title>开发团队</Title>
      <Persons>
        <Person>
          <Name>dwf22</Name>
          <Age>22</Age>
          <Hobby>程序</Hobby>
          <Station>开发工程师</Station>
        </Person>
        <Person>
          <Name>WL33</Name>
          <Age>22</Age>
          <Hobby>代码</Hobby>
          <Station>高级开发工程师</Station>
        </Person>
      </Persons>
    </Team>
  </Teams>
</Department>

通过以上方式生成的Xml文件也保存了对应对象的属性以及对应的包含的成员的信息,但是XMl文件里面对于对象的所有属性都是通过添加对应的子节点进行展示的,当通常我们对应XMl文件的组织,当对应的成员为对应对象的属性信息时我们更多的是希望对应的属性信息节点来设置对应的属性信息。为此,开始查找对应的序列化操作的时候是否提供了对应的设置方法来修改对应的节点信息为属性信息,通过查找,发现可以通过对对应的属性节点,添加自定义属性,设置对应的对象属性保存为XMl文件时的格式以及对应的XMl节点的名称。

修改后的代码为:

复制代码 代码如下:

public class Department
    {
        public Department()
        {
        }
        [XmlAttribute]
        public string Name;
        public List<Team> Teams;
        public Team this[string Name]
        {
            get
            {
                Team t = null;
                foreach (Team te in Teams)
                {
                    if (string.Compare(te.Name,Name) == 0)
                    {
                        t = te;
                        break;
                    }
                }
                return t;
            }
        }
    }

以上只是Department修改后的对应代码,同样对于Teams和Person的代码也可以采用相同的方式对对象的属性进行修改,其中对应的转换后属性的设置,不仅可以设置对应的转换后节点的类型还可以设置对应转换后的节点的名称和对应的属性的名称不相同,具体的设置可操作帮助文档。

对应的转换后的XMl文件为:

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Department xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="事业部">
  <Teams>
    <Team Name="Test" Title="测试团队">
      <Persons>
        <Person Name="dwf" Age="22" Hobby="程序" Station="测试工程师" />
        <Person Name="WL" Age="22" Hobby="代码" Station="测试工程师" />
      </Persons>
    </Team>
    <Team Name="Develop" Title="开发团队">
      <Persons>
        <Person Name="dwf22" Age="22" Hobby="程序" Station="开发工程师" />
        <Person Name="WL33" Age="22" Hobby="代码" Station="高级开发工程师" />
      </Persons>
    </Team>
  </Teams>
</Department>

通过以上方式便实现了将对应的对象转换为XMl文件的功能,同样通过反序列化的方式,可以实现将对应的XMl文件转换为对应的对象。实现的代码为:
复制代码 代码如下:

  XmlSerializer serializer = new XmlSerializer(t);
            FileStream  stream = new FileStream (filePath,FileMode.Open );
            Department  dep=(Department)serializer.Deserialize(stream);
            stream.Close();  

这样便通过XMl序列化的方式实现了对应的对象和Xml文件之间的转换关系,而且对应的对象的属性和转换后的XMl文件中的节点的名称之间的对应关系是可以进行设置的。这样第一篇中介绍的同样Xml文件的配置工具的实现,相当于是实现了对应的Xml序列化的功能,从使用的过程中可以发现,第一篇文章中介绍的实现就是对应的Xml序列化类的实现方式。

data和string类型之间的相互转换

data和string类型之间的相互转换

package main;

import java.text.SimpleDateFormat;
import java.util.Date;

import freemarker.core.ParseException;

public class Transformation {
public static String dateToString(Date data, String formatType) {
return new SimpleDateFormat(formatType).format(data);
}
// long类型转换为String类型
// currentTime要转换的long类型的时间
// formatType要转换的string类型的时间格式
public static String longToString(long currentTime, String formatType)
throws ParseException {
Date date = longToDate(currentTime, formatType); // long类型转成Date类型
String strTime = dateToString(date, formatType); // date类型转成String
return strTime;
}

// string类型转换为date类型
// strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
// HH时mm分ss秒,
// strTime的时间格式必须要与formatType的时间格式相同
public static Date stringToDate(String strTime, String formatType)
throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat(formatType);
Date date = null;
try {
date = formatter.parse(strTime);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}

// long转换为Date类型
// currentTime要转换的long类型的时间
// formatType要转换的时间格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
public static Date longToDate(long currentTime, String formatType)
throws ParseException {
Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string
Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型
return date;
}

// string类型转换为long类型
// strTime要转换的String类型的时间
// formatType时间格式
// strTime的时间格式和formatType的时间格式必须相同
public static long stringToLong2(String strTime, String formatType) throws ParseException{
return stringToLong(strTime,formatType)-stringToLong("1970-01-01",formatType);
}

public static long stringToLong(String strTime, String formatType)
throws ParseException {
Date date = stringToDate(strTime, formatType); // String类型转成date类型
if (date == null) {
return 0;
} else {
long currentTime = dateToLong(date); // date类型转成long类型
return currentTime;
}
}

// date类型转换为long类型
// date要转换的date类型的时间
public static long dateToLong(Date date) {
return date.getTime();
}

}

关于Word文档与表格之间的相互转换word文档与表格之间的相互转换怎么弄的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于byte与string之间的相互转换、byte数组与对象之间的相互转换、C#对象与XMl文件之间的相互转换、data和string类型之间的相互转换等相关内容,可以在本站寻找。

本文标签: