/// <summary>
    /// 按配置的特殊索引导出方式输出lua文件(如果声明了在生成的lua文件开头以注释形式展示列信息,将生成更直观的嵌套字段信息,而不同于普通导出规则的列信息展示)
    /// </summary>
    public static bool SpecialExportTableToLua(TableInfo tableInfo, string exportRule, out string errorString)
    {
        StringBuilder content      = new StringBuilder();
        string        exportString = content.ToString();

        exportRule = exportRule.Trim();
        // 解析按这种方式导出后的lua文件名
        int colonIndex = exportRule.IndexOf(':');

        if (colonIndex == -1)
        {
            errorString = string.Format("导出配置\"{0}\"定义错误,必须在开头声明导出txt文件名\n", exportRule);
            return(false);
        }
        string fileName = exportRule.Substring(0, colonIndex).Trim();

        // 保存为txt文件
        if (SaveTxt.SaveTxtFile(tableInfo.TableName, fileName, exportString) == true)
        {
            errorString = null;
            return(true);
        }
        else
        {
            errorString = "保存为txt文件失败\n";
            return(false);
        }
    }
示例#2
0
        public static ISave Create(string filename, int index)
        {
            ISave saveBehavior;

            switch (index)
            {
            case 1:
            {
                //Txt file
                saveBehavior = new SaveTxt();
                break;
            }

            case 2:
            {
                saveBehavior = new SerializeXml();
                //Xml file
                break;
            }

            case 3:
            {
                //Binary file
                saveBehavior = new SerializeBin();
                break;
            }

            case 4:
            {
                saveBehavior = new SerializeJSON();
                break;
            }

            default:
            {
                saveBehavior = new SaveTxt();
                break;
            }
            }

            return(saveBehavior);
        }
示例#3
0
 //Menu Methods
 private void listOfFailuresToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (SaveTxt.ShowDialog() == DialogResult.OK)
     {
         try
         {
             StreamWriter W = new StreamWriter(SaveTxt.FileName);
             int          i = 0;
             while (i < fail_grid.Rows.Count - 1)
             {
                 W.WriteLine(fail_grid.Rows[i].Cells[0].Value + "#" + fail_grid.Rows[i].Cells[1].Value + "#" + fail_grid.Rows[i].Cells[2].Value);
                 i++;
             }
             MessageBox.Show("List of failures saved", "List of failures", MessageBoxButtons.OK, MessageBoxIcon.Information);
             W.Close();
         }
         catch (Exception err)
         {
             MessageBox.Show(err.Message);
         }
     }
 }
    public static bool ExportTableToTxt(TableInfo tableInfo, out string errorString)
    {
        StringBuilder stringBuilder = new StringBuilder();

        // DataTable dt = AppValues.ExcelDataSet[tableInfo.ExcelFilePath].Tables[ExcelTableSetting.ExcelDataSheetName];
        foreach (DataTable dt in AppValues.ExcelDataSet[tableInfo.ExcelFilePath].Tables)
        {
            if (dt.TableName == "config$" && TxtStruct.IsExportConfig == false)
            {
                continue;
            }

            StringBuilder content = new StringBuilder();
            for (int row = 0; row < dt.Rows.Count; ++row)
            {
                List <string> strList = new List <string>();
                string        str     = null;
                for (int column = 0; column < dt.Columns.Count; ++column)
                {
                    str = str + "{" + column + "}" + TxtStruct.ExportSpaceString;
                    strList.Add(dt.Rows[row][column].ToString());
                }

                //for (int column = 0; column < dt.Columns.Count; ++column)
                //{
                //    //str2 = str2 +" \""+ dt.Rows[row][column].ToString()+"\" ," ;
                //}
                string[] str2 = strList.ToArray();

                //str2 = str2.Remove(str2.Length - 1);
                //  str = str.TrimEnd(TxtStruct.ExportTxtSplitChar);
                // content.Append(str).Append(TxtStruct.ExportTxtLineChar);
                content.Append(string.Format(str, str2)).Append(TxtStruct.ExportLineString);
                //content.AppendFormat(str, str2).Append(TxtStruct.ExportTxtLineChar);
            }
            string exportString = content.ToString();

            if (exportString.Length < 2)
            {
                continue;
            }

            if (TxtStruct.SavePath == null)
            {
                TxtStruct.SavePath = tableInfo.ExcelDirectoryName;
                TxtStruct.IsExportKeepDirectoryStructure = false;
            }
            // 保存为txt文件
            if (SaveTxt.SaveTxtFile(tableInfo.ExcelName, dt.TableName, exportString) == true)
            {
                errorString = null;
                // return true;
            }
            else
            {
                errorString = string.Format("{0}的数据表{1}保存为txt文件失败\n", tableInfo.ExcelName, tableInfo.TableConfigData2);
                stringBuilder.Append(errorString);
                //return false;
            }
        }
        if (stringBuilder == null)
        {
            errorString = null;
            return(true);
        }
        else
        {
            errorString = stringBuilder.ToString();
            if (errorString.Length > 0)
            {
                return(false);
            }
            else
            {
                errorString = null;
                return(true);
            }
        }
    }