Chris:

You may want to simplify your life and pick up NebulaXLite.

http://nebula-rnd.com/products/xlite.htm

HTH,

Bill


------------------------------------------------------------------------
Chris Austin said the following on 4/13/2010 7:48 AM:
I was curious if there is an easy way to add font formatting to the .CSV files 
I have been creating from UniVerse.
Right now we just write to a sequential file and call it <name>.csv and just 
use comma's to separate
the data. We then use a carriage return CHAR(13) to return to the next line in the spreadsheet.
If I wanted to make a word appear as blue or in bold, how are you guys doing 
this?

Thanks.

-Chris


Date: Mon, 12 Apr 2010 11:47:20 -0700
From: jacque...@yahoo.com
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] import data to excel sheet...

Hi Jaweed,

If you already produced a number of files with the CHAR(13) as the end of line separator, 
you probably still handle them with excel, if you change the file extension from .csv to 
.txt and when you are in Excel import wizard, specify that the origin of the file is 
"Macintosh".    Since the Mac uses CHAR(13) as an EOL separator, the import 
should work.





----- Original Message ----
From: Robert Houben <robert.hou...@fwic.net>
To: U2 Users List <u2-users@listserver.u2ug.org>
Sent: Mon, April 12, 2010 12:01:03 PM
Subject: Re: [U2] import data to excel sheet...

Hi Jaweed,

I haven't looked too closely at your code, but I did notice on thing that I 
would consider the most likely candidate:

CHAR(13) is a carriage return, not a line feed.  Try using CHAR(10) instead for 
your LINE.FEED variable. You might have to use CHAR(13):CHAR(10), but I think 
CHAR(10) should do it.

Good luck!

-----Original Message-----
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jaweed
Sent: Monday, April 12, 2010 7:53 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] import data to excel sheet...

Can anyone tell me what is wrong with the following code for importing data
from txt file to an excel sheet, when its launch

Excel it giving some error message, but when I open the downloaded file from
my disc, all the data is in one line with some especial

Chars. Any help will be appreciated.



034: **************

035: * OPEN FILES *

036: **************

037:   ERRMSG = ''

038:   OPEN TEXT.FILE.NAME TO TEXT.FILE ELSE

039:     ERRMSG = 'CANNOT OPEN THE ' : TEXT.FILE.NAME : ' FILE!'

040:   END

041:   IF ERRMSG THEN

042:     GOSUB 91000

043:     RETURN

044:   END

*--: P

045: **************

046: * INITIALIZE *

047: **************

048:   PAGE.FEED = CHAR(12)

049:   LINE.FEED = CHAR(13)

050:   ;*

051:   ;* Read the text file to convert

052:   ;*

053:   READ TEXT.REC FROM TEXT.FILE, TEXT.REC.NAME ELSE

054:     ERRMSG = "ITEM " : TEXT.REC.NAME : " DOES NOT EXIST IN " :
TEXT.FILE.NA

ME

055:     GOSUB 91000

056:     RETURN

057:   END

058:   ;*

059:   ;* Set default values (none are used now)

060:   ;*

061:   VALUE = "DEFAULT"

062:   LOCATE "PROPERTY" IN FORMATSTR<1> SETTING PTR THEN

063:     VALUE = FORMATSTR<2,PTR>

064:   END

065:   ;*

066:   ;* Remove the first line if it contains a PAGE.FEED

*--: P

067:   ;*

068:   LOOP WHILE TEXT.REC<1> = PAGE.FEED DO

069:      TEXT.REC = DELETE(TEXT.REC,1)

070:   REPEAT

071:   IF TEXT.REC<1>[1,1] = PAGE.FEED THEN

072:      TEXT.REC<1> = TEXT.REC<1>[2,LEN(TEXT.REC)]

073:   END

074:   ;*

075:   ;* Find the header for each page

076:   ;*

077:   SLK.REC = ''

078:   SLK.ROWS = 0

079:   SLK.HEADER.LINES = 0

080:   IF TEXT.REC<1>[1,10] = "RUN D - T:" THEN

081:     SLK.REC<-1> = "F;SD;R3"

082:     SLK.REC<-1> = "F;SD;R4"

083:     SLK.REC<-1> = "C;Y1;X1;K" :
QUOTE(TRIM(CHANGE(TEXT.REC<1>[1,30],';',';;

')))

084:     SLK.REC<-1> = "C;Y2;X1;K" :
QUOTE(TRIM(CHANGE(TEXT.REC<2>[1,30],';',';;

')))

085:     SLK.REC<-1> = "C;Y3;X1;K" :
QUOTE(TRIM(CHANGE(TEXT.REC<1>[31,90],';',';

;')))

086:     SLK.REC<-1> = "C;Y4;X1;K" :
QUOTE(TRIM(CHANGE(TEXT.REC<2>[31,90],';',';

;')))

087:     SLK.ROWS = 4

088:     SLK.HEADER.LINES = 2

*--: P

089:   END

090:   ;*

091:   ;* Find the number of lines in the header

092:   ;*

093:   LINES = DCOUNT(TEXT.REC,@AM)

094:   SLK.HEADER.CNT = 0

095:   FOR IDX = SLK.HEADER.LINES+1 TO LINES

096:     IF INDEX(TEXT.REC<IDX>,"---",1) THEN

097:       SLK.HEADER.CNT = IDX

098:       EXIT

099:     END

100:   NEXT IDX

101:   ;*

102:   ;* Find the column locations

103:   ;*

104:   COL.LIST  = ''

105:   IF SLK.HEADER.CNT THEN

106:     DASHES.LINE = " " : TEXT.REC<SLK.HEADER.CNT> : " "

107:     DASHES.LINE = TRIM(DASHES.LINE,'-')

108:     DASHES.CNT  = COUNT(DASHES.LINE,'-')

109:     DASHES.LINE = TEXT.REC<SLK.HEADER.CNT>

110:     FOR DASHES.IDX = 1 TO DASHES.CNT

*--: P

111:       COL.START = INDEX(DASHES.LINE,'-',1)

112:       DASHES.REMAIN = LEN(DASHES.LINE) - COL.START + 1

113:       COL.LEN   = INDEX(DASHES.LINE[DASHES.REMAIN],' ',1)-1

114:       IF COL.LEN < 1 THEN COL.LEN = LEN(DASHES.LINE)

115:       COL.LIST<DASHES.IDX,1> = COL.START

116:       COL.LIST<DASHES.IDX,2> = COL.LEN

117:       DASHES.LINE[COL.START,COL.LEN] = SPACE(COL.LEN)

118:     NEXT DASHES.IDX

119:   END

120:   ;*

121:   ;* Extract the column titles

122:   ;*

123:   COL.CNT = DCOUNT(COL.LIST,@AM)

124:   FOR HDR.IDX = SLK.HEADER.LINES+1 TO SLK.HEADER.CNT-1

125:     SLK.ROWS = SLK.ROWS + 1

126:     SLK.Y = "Y" : SLK.ROWS : ";"

127:     ;*

128:     ;* Make sure the header properly fits into the column

129:     ;* If it does not, then add it to the spreadsheet's first column

130:     ;*

131:     CHECK.LINE = TEXT.REC<HDR.IDX>

132:     GOSUB CHECK.COLUMNS

*--: P

133:     IF NOT(CHECK.LINE) THEN

134:       SLK.TEXT = TRIM(CHANGE(TEXT.REC<HDR.IDX>,';',';;'))

135:       SLK.REC<-1> = "C;" : SLK.Y : "X1;K" : QUOTE(SLK.TEXT)

136:       CONTINUE

137:     END

138:     ;*

139:     ;* The header fits, so add it to the column names

140:     ;*

141:     IF HDR.IDX = SLK.HEADER.CNT-1 THEN

142:       SLK.REC<-1> = "F;SBD;R" : SLK.ROWS

143:     END ELSE

144:       SLK.REC<-1> = "F;SD;R" : SLK.ROWS

145:     END

146:     FOR COL.IDX = 1 TO COL.CNT

147:       COL.START = COL.LIST<COL.IDX,1>

148:       COL.LEN   = COL.LIST<COL.IDX,2>

149:       SLK.X     = "X" : COL.IDX : ";"

150:       SLK.TEXT  = TEXT.REC<HDR.IDX>[COL.START,COL.LEN]

151:       SLK.TEXT  = TRIM(CHANGE(SLK.TEXT,';',';;'))

152:       IF SLK.TEXT # '' THEN

153:         SLK.REC<-1> = "C;" : SLK.Y : SLK.X : "K" : QUOTE(SLK.TEXT)

154:         SLK.Y = ''

*--: P

155:       END

156:     NEXT COL.IDX

157:   NEXT HDR.IDX

158:   ;*

159:   ;* Begin conversion

160:   ;*

161:   LINES = DCOUNT(TEXT.REC,@AM)

162:   FOR IDX = SLK.HEADER.CNT+1 TO LINES

163:     ;*

164:     ;* Check for a pagefeed, otherwise insert the next row of data

165:     ;*

166:     FINDSTR PAGE.FEED IN TEXT.REC<IDX> SETTING NEW.PAGE.MARKER THEN

167:       IDX = IDX + SLK.HEADER.CNT

168:       CONTINUE

169:     END

170:     SLK.ROWS = SLK.ROWS + 1

171:     SLK.Y = "Y" : SLK.ROWS : ";"

172:     ;*

173:     ;* Make sure the row properly fits into the column

174:     ;*

175:     CHECK.LINE = TEXT.REC<IDX>

176:     GOSUB CHECK.COLUMNS

*--: P

177:     IF NOT(CHECK.LINE) THEN

178:       SLK.TEXT  = TRIM(CHANGE(TEXT.REC<IDX>,';',';;'))

179:       SLK.REC<-1> = "C;" : SLK.Y : "X1;K" : QUOTE(SLK.TEXT)

180:       CONTINUE

181:     END

182:     FOR COL.IDX = 1 TO COL.CNT

183:       COL.START = COL.LIST<COL.IDX,1>

184:       COL.LEN   = COL.LIST<COL.IDX,2>

185:       SLK.X     = "X" : COL.IDX : ";"

186:       SLK.TEXT  = TEXT.REC<IDX>[COL.START,COL.LEN]

187:       SLK.TEXT  = TRIM(CHANGE(SLK.TEXT,';',';;'))

188:       IF SLK.TEXT # '' THEN

189:         SLK.REC<-1> = "C;" : SLK.Y : SLK.X : "K" : QUOTE(SLK.TEXT)

190:         SLK.Y = ''

191:       END

192:     NEXT COL.IDX

193:   NEXT IDX

194:   ;*

195:   ;* Insert SLK format header into record

196:   ;*

197:   SLK.REC.FMT = 'ID;PPRIMAC'

198:   SLK.REC.FMT<-1> = 'P;ECourier'

*--: P

199:   SLK.REC.FMT<-1> = 'P;ECourier;SB'

200:   SLK.REC.FMT<-1> = 'B;Y' : SLK.ROWS : ';X' : COL.CNT

201:   FOR COL.IDX = 1 TO COL.CNT

202:     COL.LEN = COL.LIST<COL.IDX,2>

203:     SLK.REC.FMT<-1> = 'F;W' : COL.IDX : ' ' : COL.IDX : ' ' : COL.LEN+1

204:   NEXT COL.IDX

205:   SLK.REC = SLK.REC.FMT : @AM : SLK.REC : @AM : "E"

206:   ;*

207:   ;* Write SLK record

208:   ;*

209:   SLK.REC.PATH = "./":TEXT.FILE.NAME:"/":TEXT.REC.NAME:".slk"

210:   SWAP @AM WITH LINE.FEED IN SLK.REC

211:   OSWRITE SLK.REC ON SLK.REC.PATH

212:   RETURN

213: *

214: CHECK.COLUMNS:

215:   FOR CHECK.IDX = 1 TO COL.CNT

216:     CHECK.START = COL.LIST<CHECK.IDX,1>

217:     CHECK.LEN   = COL.LIST<CHECK.IDX,2>

218:     CHECK.LINE[CHECK.START,CHECK.LEN] = SPACE(CHECK.LEN)

219:   NEXT CHECK.IDX

220:   IF TRIM(CHECK.LINE) = '' THEN

*--: P

221:     CHECK.LINE = 1

222:   END ELSE

223:     CHECK.LINE = 0

224:   END

225:   RETURN

226: ********************

227: * CALLS FOR SYSCOM *

228: ********************

229: 91000*

230:   ERR.TYPE = 1 ; CALL SYSCOM(MAT SYSCOM.REC)

231:   RETURN

232: *

233: 99999 *

234:   RETURN

235: END

Bottom.

_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users



_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_________________________________________________________________
Hotmail is redefining busy with tools for the New Busy. Get more from your 
inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_2
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to